zudoku 0.7.2-dev.2 → 0.9.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.
Files changed (104) hide show
  1. package/dist/app/main.js +19 -0
  2. package/dist/app/main.js.map +1 -1
  3. package/dist/cli/dev/handler.js +5 -0
  4. package/dist/cli/dev/handler.js.map +1 -1
  5. package/dist/config/validators/validate.d.ts +122 -0
  6. package/dist/config/validators/validate.js +44 -0
  7. package/dist/config/validators/validate.js.map +1 -1
  8. package/dist/lib/components/context/ZudokuContext.d.ts +2 -0
  9. package/dist/lib/core/DevPortalContext.d.ts +1 -0
  10. package/dist/vite/config.d.ts +2 -2
  11. package/dist/vite/config.js +21 -20
  12. package/dist/vite/config.js.map +1 -1
  13. package/dist/vite/config.test.js +1 -4
  14. package/dist/vite/config.test.js.map +1 -1
  15. package/dist/vite/dev-server.js +1 -4
  16. package/dist/vite/dev-server.js.map +1 -1
  17. package/dist/vite/prerender.js +7 -0
  18. package/dist/vite/prerender.js.map +1 -1
  19. package/dist/vite/sitemap.js +33 -29
  20. package/dist/vite/sitemap.js.map +1 -1
  21. package/lib/AuthenticationPlugin-Bx9FK124.js +55 -0
  22. package/lib/{AuthenticationPlugin-BMjOjKqE.js.map → AuthenticationPlugin-Bx9FK124.js.map} +1 -1
  23. package/lib/CategoryHeading-XnFqN2lJ.js +10 -0
  24. package/lib/{CategoryHeading-BE8e6QdS.js.map → CategoryHeading-XnFqN2lJ.js.map} +1 -1
  25. package/lib/DeveloperHint-FBb2uXJe.js +16 -0
  26. package/lib/{DeveloperHint-Bl9gIdNI.js.map → DeveloperHint-FBb2uXJe.js.map} +1 -1
  27. package/lib/ErrorPage-knunPbKI.js +18 -0
  28. package/lib/{ErrorPage-CPR1XVKW.js.map → ErrorPage-knunPbKI.js.map} +1 -1
  29. package/lib/Input-BEDZAKw0.js +2198 -0
  30. package/lib/{Input-BBlyeDuG.js.map → Input-BEDZAKw0.js.map} +1 -1
  31. package/lib/{Markdown-CCNihH_N.js → Markdown-B4aR03g6.js} +2650 -2641
  32. package/lib/{Markdown-CCNihH_N.js.map → Markdown-B4aR03g6.js.map} +1 -1
  33. package/lib/MdxPage-BZyQsH8Z.js +172 -0
  34. package/lib/{MdxPage-BavkYqzi.js.map → MdxPage-BZyQsH8Z.js.map} +1 -1
  35. package/lib/OperationList-2NeWEM0u.js +560 -0
  36. package/lib/{OperationList-C6Ps2keZ.js.map → OperationList-2NeWEM0u.js.map} +1 -1
  37. package/lib/Route-BZPewmrN.js +14 -0
  38. package/lib/{Route-xRJ9mJgH.js.map → Route-BZPewmrN.js.map} +1 -1
  39. package/lib/{SidebarBadge-2JcxswKF.js → SidebarBadge-COz0hgfa.js} +41 -41
  40. package/lib/{SidebarBadge-2JcxswKF.js.map → SidebarBadge-COz0hgfa.js.map} +1 -1
  41. package/lib/SlotletProvider-DJMaOUDs.js +238 -0
  42. package/lib/{SlotletProvider-CuB3Ts8r.js.map → SlotletProvider-DJMaOUDs.js.map} +1 -1
  43. package/lib/Spinner-3cQDBVGr.js +7 -0
  44. package/lib/Spinner-3cQDBVGr.js.map +1 -0
  45. package/lib/{ZudokuContext-JoyeA9dT.js → ZudokuContext-cr-pTRY1.js} +66 -65
  46. package/lib/{ZudokuContext-JoyeA9dT.js.map → ZudokuContext-cr-pTRY1.js.map} +1 -1
  47. package/lib/{index-G1-TGLO1.js → index-1EDgIO6b.js} +4 -4
  48. package/lib/{index-G1-TGLO1.js.map → index-1EDgIO6b.js.map} +1 -1
  49. package/lib/index-BG0g4WW0.js +1771 -0
  50. package/lib/index-BG0g4WW0.js.map +1 -0
  51. package/lib/{index-BF4cn28H.js → index-Dv2KZuEw.js} +1991 -1804
  52. package/lib/{index-BF4cn28H.js.map → index-Dv2KZuEw.js.map} +1 -1
  53. package/lib/{index-BLvMkqjO.js → index-Zezcv0xb.js} +5 -5
  54. package/lib/{index-BLvMkqjO.js.map → index-Zezcv0xb.js.map} +1 -1
  55. package/lib/jsx-runtime-B6kdoens.js +635 -0
  56. package/lib/jsx-runtime-B6kdoens.js.map +1 -0
  57. package/lib/{utils-B8R4grFM.js → utils-ByIc_KIM.js} +98 -97
  58. package/lib/{utils-B8R4grFM.js.map → utils-ByIc_KIM.js.map} +1 -1
  59. package/lib/zudoku.auth-auth0.js +21 -16
  60. package/lib/zudoku.auth-auth0.js.map +1 -1
  61. package/lib/zudoku.auth-clerk.js +37 -32
  62. package/lib/zudoku.auth-clerk.js.map +1 -1
  63. package/lib/zudoku.auth-openid.js +505 -485
  64. package/lib/zudoku.auth-openid.js.map +1 -1
  65. package/lib/zudoku.components.js +1659 -1531
  66. package/lib/zudoku.components.js.map +1 -1
  67. package/lib/zudoku.plugin-api-keys.js +214 -150
  68. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  69. package/lib/zudoku.plugin-custom-page.js +6 -5
  70. package/lib/zudoku.plugin-custom-page.js.map +1 -1
  71. package/lib/zudoku.plugin-markdown.js +13 -12
  72. package/lib/zudoku.plugin-markdown.js.map +1 -1
  73. package/lib/zudoku.plugin-openapi.js +8 -7
  74. package/lib/zudoku.plugin-openapi.js.map +1 -1
  75. package/lib/zudoku.plugin-search-inkeep.js +21 -20
  76. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  77. package/package.json +3 -2
  78. package/src/app/main.tsx +22 -1
  79. package/src/lib/core/DevPortalContext.ts +1 -1
  80. package/dist/lib/util/fetchTimeout.d.ts +0 -1
  81. package/dist/lib/util/fetchTimeout.js +0 -14
  82. package/dist/lib/util/fetchTimeout.js.map +0 -1
  83. package/dist/vite/esbuild-yaml.d.ts +0 -2
  84. package/dist/vite/esbuild-yaml.js +0 -50
  85. package/dist/vite/esbuild-yaml.js.map +0 -1
  86. package/dist/vite/plugin-vercel.d.ts +0 -3
  87. package/dist/vite/plugin-vercel.js +0 -8
  88. package/dist/vite/plugin-vercel.js.map +0 -1
  89. package/dist/vite/plugin-yaml.d.ts +0 -3
  90. package/dist/vite/plugin-yaml.js +0 -24
  91. package/dist/vite/plugin-yaml.js.map +0 -1
  92. package/lib/AuthenticationPlugin-BMjOjKqE.js +0 -54
  93. package/lib/CategoryHeading-BE8e6QdS.js +0 -9
  94. package/lib/DeveloperHint-Bl9gIdNI.js +0 -12
  95. package/lib/ErrorPage-CPR1XVKW.js +0 -12
  96. package/lib/Input-BBlyeDuG.js +0 -2192
  97. package/lib/MdxPage-BavkYqzi.js +0 -140
  98. package/lib/OperationList-C6Ps2keZ.js +0 -460
  99. package/lib/Route-xRJ9mJgH.js +0 -13
  100. package/lib/SlotletProvider-CuB3Ts8r.js +0 -213
  101. package/lib/Spinner-BlxzaFFF.js +0 -6
  102. package/lib/Spinner-BlxzaFFF.js.map +0 -1
  103. package/lib/jsx-runtime-lNnQYwFN.js +0 -2403
  104. package/lib/jsx-runtime-lNnQYwFN.js.map +0 -1
@@ -1,36 +1,40 @@
1
+ import { createWriteStream, existsSync } from "fs";
2
+ import { mkdir } from "fs/promises";
3
+ import path from "path";
4
+ import { SitemapStream } from "sitemap";
5
+ import { joinPath } from "../lib/util/joinPath.js";
1
6
  export async function generateSitemap({ outputUrls, basePath, baseOutputDir, config, }) {
2
7
  if (!config) {
3
8
  return;
4
9
  }
5
- // const sitemap = new SitemapStream({ hostname: config.siteUrl });
6
- // const outputDir = path.resolve(baseOutputDir, config.outDir ?? "");
7
- // // Ensure the output directory exists
8
- // if (!existsSync(outputDir) === false) {
9
- // await mkdir(outputDir, { recursive: true });
10
- // }
11
- // const sitemapOutputPath = path.join(outputDir, "sitemap.xml");
12
- // const writeStream = createWriteStream(sitemapOutputPath);
13
- // sitemap.pipe(writeStream);
14
- // let lastmod: string | undefined;
15
- // if (config.autoLastmod !== false) {
16
- // lastmod = new Date().toISOString();
17
- // }
18
- // const exclude =
19
- // (typeof config.exclude === "function"
20
- // ? await config.exclude()
21
- // : config.exclude) ?? [];
22
- // for (const url of outputUrls) {
23
- // if (!exclude.includes(url) && !url.includes("*")) {
24
- // sitemap.write({
25
- // url: new URL(joinPath(basePath, url), config.siteUrl).toString(),
26
- // lastmod,
27
- // changefreq: config.changefreq ?? "daily",
28
- // priority: config.priority ?? 0.7,
29
- // });
30
- // }
31
- // }
32
- // sitemap.end();
10
+ const sitemap = new SitemapStream({ hostname: config.siteUrl });
11
+ const outputDir = path.resolve(baseOutputDir, config.outDir ?? "");
12
+ // Ensure the output directory exists
13
+ if (!existsSync(outputDir) === false) {
14
+ await mkdir(outputDir, { recursive: true });
15
+ }
16
+ const sitemapOutputPath = path.join(outputDir, "sitemap.xml");
17
+ const writeStream = createWriteStream(sitemapOutputPath);
18
+ sitemap.pipe(writeStream);
19
+ let lastmod;
20
+ if (config.autoLastmod !== false) {
21
+ lastmod = new Date().toISOString();
22
+ }
23
+ const exclude = (typeof config.exclude === "function"
24
+ ? await config.exclude()
25
+ : config.exclude) ?? [];
26
+ for (const url of outputUrls) {
27
+ if (!exclude.includes(url) && !url.includes("*")) {
28
+ sitemap.write({
29
+ url: new URL(joinPath(basePath, url), config.siteUrl).toString(),
30
+ lastmod,
31
+ changefreq: config.changefreq ?? "daily",
32
+ priority: config.priority ?? 0.7,
33
+ });
34
+ }
35
+ }
36
+ sitemap.end();
33
37
  // eslint-disable-next-line no-console
34
- // console.debug(`Wrote sitemap to ${sitemapOutputPath}`);
38
+ console.debug(`Wrote sitemap to ${sitemapOutputPath}`);
35
39
  }
36
40
  //# sourceMappingURL=sitemap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/vite/sitemap.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,UAAU,EACV,QAAQ,EACR,aAAa,EACb,MAAM,GAkBP;IACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,mEAAmE;IAEnE,sEAAsE;IAEtE,wCAAwC;IACxC,0CAA0C;IAC1C,iDAAiD;IACjD,IAAI;IAEJ,iEAAiE;IAEjE,4DAA4D;IAC5D,6BAA6B;IAE7B,mCAAmC;IACnC,sCAAsC;IACtC,wCAAwC;IACxC,IAAI;IAEJ,kBAAkB;IAClB,0CAA0C;IAC1C,+BAA+B;IAC/B,+BAA+B;IAE/B,kCAAkC;IAClC,wDAAwD;IACxD,sBAAsB;IACtB,0EAA0E;IAC1E,iBAAiB;IACjB,kDAAkD;IAClD,0CAA0C;IAC1C,UAAU;IACV,MAAM;IACN,IAAI;IAEJ,iBAAiB;IAEjB,sCAAsC;IACtC,0DAA0D;AAC5D,CAAC"}
1
+ {"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/vite/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,UAAU,EACV,QAAQ,EACR,aAAa,EACb,MAAM,GAkBP;IACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEnE,qCAAqC;IACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE1B,IAAI,OAA2B,CAAC;IAChC,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GACX,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;QACnC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE;QACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC;gBACZ,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;gBAChE,OAAO;gBACP,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO;gBACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,iBAAiB,EAAE,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { j as i } from "./jsx-runtime-B6kdoens.js";
2
+ import { useEffect as o } from "react";
3
+ import { u as a, a as u } from "./index-BG0g4WW0.js";
4
+ import { u as s } from "./ZudokuContext-cr-pTRY1.js";
5
+ const r = () => {
6
+ const t = s(), [n] = a();
7
+ return o(() => {
8
+ var e;
9
+ (e = t.authentication) == null || e.signIn({
10
+ redirectTo: n.get("redirect") ?? void 0
11
+ });
12
+ }, [t.authentication, n]), null;
13
+ }, c = () => {
14
+ const t = s(), n = u();
15
+ return o(() => {
16
+ var e;
17
+ (e = t.authentication) == null || e.signOut().then(() => n("/"));
18
+ }, [n, t.authentication]), null;
19
+ }, g = () => {
20
+ const t = s();
21
+ return o(() => {
22
+ var n, e;
23
+ ((n = t.authentication) == null ? void 0 : n.signUp()) ?? ((e = t.authentication) == null || e.signIn());
24
+ }, [t.authentication]), null;
25
+ };
26
+ class x {
27
+ getRoutes() {
28
+ return [
29
+ {
30
+ path: "/signout",
31
+ element: /* @__PURE__ */ i.jsx(c, {})
32
+ },
33
+ {
34
+ path: "/signin",
35
+ element: /* @__PURE__ */ i.jsx(r, {})
36
+ },
37
+ {
38
+ path: "/signup",
39
+ element: /* @__PURE__ */ i.jsx(g, {})
40
+ }
41
+ ];
42
+ }
43
+ getProfileMenuItems() {
44
+ return [
45
+ {
46
+ label: "Logout",
47
+ path: "/signout"
48
+ }
49
+ ];
50
+ }
51
+ }
52
+ export {
53
+ x as A
54
+ };
55
+ //# sourceMappingURL=AuthenticationPlugin-Bx9FK124.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationPlugin-BMjOjKqE.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 { useSearchParams } from \"react-router-dom\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignIn = () => {\n const context = useZudoku();\n const [search] = useSearchParams();\n useEffect(() => {\n void context.authentication?.signIn({\n redirectTo: search.get(\"redirect\") ?? undefined,\n });\n }, [context.authentication, search]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignOut = () => {\n const context = useZudoku();\n const navigate = useNavigate();\n useEffect(() => {\n void context.authentication?.signOut().then(() => navigate(\"/\"));\n }, [navigate, context.authentication]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignUp = () => {\n const context = useZudoku();\n useEffect(() => {\n void (context.authentication?.signUp() ?? context.authentication?.signIn());\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","useZudoku","search","useSearchParams","useEffect","_a","SignOut","navigate","useNavigate","SignUp","_b","AuthenticationPlugin"],"mappings":";;;AAIO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAUC,KACV,CAACC,CAAM,IAAIC;AACjB,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,OAAO;AAAA,MAClC,YAAYH,EAAO,IAAI,UAAU,KAAK;AAAA,IAAA;AAAA,EAEvC,GAAA,CAACF,EAAQ,gBAAgBE,CAAM,CAAC,GAE5B;AACT,GCVaI,IAAU,MAAM;AAC3B,QAAMN,IAAUC,KACVM,IAAWC;AACjB,SAAAJ,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,UAAU,KAAK,MAAME,EAAS,GAAG;AAAA,EAC7D,GAAA,CAACA,GAAUP,EAAQ,cAAc,CAAC,GAE9B;AACT,GCTaS,IAAS,MAAM;AAC1B,QAAMT,IAAUC;AAChB,SAAAG,EAAU,MAAM;;AACd,MAAMC,IAAAL,EAAQ,mBAAR,gBAAAK,EAAwB,eAAYK,IAAAV,EAAQ,mBAAR,QAAAU,EAAwB;AAAA,EAAO,GACxE,CAACV,EAAQ,cAAc,CAAC,GAEpB;AACT;ACCO,MAAMW,EAAgD;AAAA,EAC3D,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,6CAAUL,GAAQ,IAAA;AAAA,MACpB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,6CAAUP,GAAO,IAAA;AAAA,MACnB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,6CAAUU,GAAO,IAAA;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
+ {"version":3,"file":"AuthenticationPlugin-Bx9FK124.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 { useSearchParams } from \"react-router-dom\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignIn = () => {\n const context = useZudoku();\n const [search] = useSearchParams();\n useEffect(() => {\n void context.authentication?.signIn({\n redirectTo: search.get(\"redirect\") ?? undefined,\n });\n }, [context.authentication, search]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignOut = () => {\n const context = useZudoku();\n const navigate = useNavigate();\n useEffect(() => {\n void context.authentication?.signOut().then(() => navigate(\"/\"));\n }, [navigate, context.authentication]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignUp = () => {\n const context = useZudoku();\n useEffect(() => {\n void (context.authentication?.signUp() ?? context.authentication?.signIn());\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","useZudoku","search","useSearchParams","useEffect","_a","SignOut","navigate","useNavigate","SignUp","_b","AuthenticationPlugin"],"mappings":";;;;AAIO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAUC,KACV,CAACC,CAAM,IAAIC;AACjB,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,OAAO;AAAA,MAClC,YAAYH,EAAO,IAAI,UAAU,KAAK;AAAA,IAAA;AAAA,EAEvC,GAAA,CAACF,EAAQ,gBAAgBE,CAAM,CAAC,GAE5B;AACT,GCVaI,IAAU,MAAM;AAC3B,QAAMN,IAAUC,KACVM,IAAWC;AACjB,SAAAJ,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,UAAU,KAAK,MAAME,EAAS,GAAG;AAAA,EAC7D,GAAA,CAACA,GAAUP,EAAQ,cAAc,CAAC,GAE9B;AACT,GCTaS,IAAS,MAAM;AAC1B,QAAMT,IAAUC;AAChB,SAAAG,EAAU,MAAM;;AACd,MAAMC,IAAAL,EAAQ,mBAAR,gBAAAK,EAAwB,eAAYK,IAAAV,EAAQ,mBAAR,QAAAU,EAAwB;AAAA,EAAO,GACxE,CAACV,EAAQ,cAAc,CAAC,GAEpB;AACT;ACCO,MAAMW,EAAgD;AAAA,EAC3D,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,+BAAUL,GAAQ,EAAA;AAAA,MACpB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUP,GAAO,EAAA;AAAA,MACnB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUU,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;"}
@@ -0,0 +1,10 @@
1
+ import { j as s } from "./jsx-runtime-B6kdoens.js";
2
+ import { c as m } from "./Markdown-B4aR03g6.js";
3
+ const a = ({
4
+ children: t,
5
+ className: r
6
+ }) => /* @__PURE__ */ s.jsx("div", { className: m("text-sm font-semibold text-primary mb-2", r), children: t });
7
+ export {
8
+ a as C
9
+ };
10
+ //# sourceMappingURL=CategoryHeading-XnFqN2lJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryHeading-BE8e6QdS.js","sources":["../src/lib/components/CategoryHeading.tsx"],"sourcesContent":["import { cx } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nexport const CategoryHeading = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n return (\n <div className={cx(\"text-sm font-semibold text-primary mb-2\", className)}>\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","cx"],"mappings":";AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,0CAKK,OAAI,EAAA,WAAWC,EAAG,2CAA2CD,CAAS,KACpED,CACH;"}
1
+ {"version":3,"file":"CategoryHeading-XnFqN2lJ.js","sources":["../src/lib/components/CategoryHeading.tsx"],"sourcesContent":["import { cx } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nexport const CategoryHeading = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n return (\n <div className={cx(\"text-sm font-semibold text-primary mb-2\", className)}>\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","cx"],"mappings":";;AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,4BAKK,OAAI,EAAA,WAAWC,EAAG,2CAA2CD,CAAS,GACpE,UAAAD,EACH,CAAA;"}
@@ -0,0 +1,16 @@
1
+ import { j as e } from "./jsx-runtime-B6kdoens.js";
2
+ import { C as i } from "./Markdown-B4aR03g6.js";
3
+ const n = ({
4
+ children: s,
5
+ className: t
6
+ }) => {
7
+ if (process.env.NODE_ENV === "development")
8
+ return /* @__PURE__ */ e.jsx(i, { type: "caution", title: "Developer hint", className: t, children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-2", children: [
9
+ /* @__PURE__ */ e.jsx("div", { children: s }),
10
+ /* @__PURE__ */ e.jsx("small", { className: "italic", children: "Note: This hint is only shown in development mode." })
11
+ ] }) });
12
+ };
13
+ export {
14
+ n as D
15
+ };
16
+ //# sourceMappingURL=DeveloperHint-FBb2uXJe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeveloperHint-Bl9gIdNI.js","sources":["../src/lib/components/DeveloperHint.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Callout } from \"../ui/Callout.js\";\n\nexport const DeveloperHint = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n return (\n <Callout type=\"caution\" title=\"Developer hint\" className={className}>\n <div className=\"flex flex-col gap-2\">\n <div>{children}</div>\n <small className=\"italic\">\n Note: This hint is only shown in development mode.\n </small>\n </div>\n </Callout>\n );\n};\n"],"names":["DeveloperHint","children","className","Callout"],"mappings":";AAGO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,UAAAC;AAAA,EACA,WAAAC;AACF,MAGM;AACA,MAAA,QAAQ,IAAI,aAAa;AAG3B,WAAA,sBAAA,cAACC,KAAQ,MAAK,WAAU,OAAM,kBAAiB,WAAAD,EAAA,uCAC5C,OAAI,EAAA,WAAU,yBACZ,sBAAA,cAAA,OAAA,MAAKD,CAAS,GACf,sBAAA,cAAC,WAAM,WAAU,SAAA,GAAS,oDAE1B,CACF,CACF;AAEJ;"}
1
+ {"version":3,"file":"DeveloperHint-FBb2uXJe.js","sources":["../src/lib/components/DeveloperHint.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Callout } from \"../ui/Callout.js\";\n\nexport const DeveloperHint = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n return (\n <Callout type=\"caution\" title=\"Developer hint\" className={className}>\n <div className=\"flex flex-col gap-2\">\n <div>{children}</div>\n <small className=\"italic\">\n Note: This hint is only shown in development mode.\n </small>\n </div>\n </Callout>\n );\n};\n"],"names":["DeveloperHint","children","className","jsx","Callout","jsxs"],"mappings":";;AAGO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,UAAAC;AAAA,EACA,WAAAC;AACF,MAGM;AACA,MAAA,QAAQ,IAAI,aAAa;AAG3B,WAAAC,gBAAAA,EAAAA,IAACC,GAAQ,EAAA,MAAK,WAAU,OAAM,kBAAiB,WAAAF,GAC7C,UAAAG,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,uBACb,UAAA;AAAA,MAAAF,gBAAAA,MAAC,SAAK,UAAAF,GAAS;AAAA,MACdE,gBAAAA,EAAA,IAAA,SAAA,EAAM,WAAU,UAAS,UAE1B,sDAAA;AAAA,IAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}
@@ -0,0 +1,18 @@
1
+ import { j as r } from "./jsx-runtime-B6kdoens.js";
2
+ import { L as a } from "./index-BG0g4WW0.js";
3
+ import { C as n } from "./CategoryHeading-XnFqN2lJ.js";
4
+ import { P as i, H as t } from "./Markdown-B4aR03g6.js";
5
+ const p = ({
6
+ title: e = "An error occurred",
7
+ message: o,
8
+ category: s
9
+ }) => /* @__PURE__ */ r.jsxs("div", { className: i + " h-full pt-[--padding-content-top]", children: [
10
+ s && /* @__PURE__ */ r.jsx(n, { children: s }),
11
+ e && /* @__PURE__ */ r.jsx(t, { level: 1, className: "flex gap-3.5 items-center", children: e }),
12
+ /* @__PURE__ */ r.jsx("p", { children: o }),
13
+ /* @__PURE__ */ r.jsx(a, { to: "/", children: "Go back home" })
14
+ ] });
15
+ export {
16
+ p as E
17
+ };
18
+ //# sourceMappingURL=ErrorPage-knunPbKI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorPage-CPR1XVKW.js","sources":["../src/lib/components/ErrorPage.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const ErrorPage = ({\n title = \"An error occurred\",\n message,\n category,\n}: {\n title?: ReactNode;\n message?: ReactNode;\n category?: ReactNode;\n}) => {\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n {title}\n </Heading>\n )}\n <p>{message}</p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n"],"names":["ErrorPage","title","message","category","ProseClasses","CategoryHeading","Heading","Link"],"mappings":";;;AAMO,MAAMA,IAAY,CAAC;AAAA,EACxB,OAAAC,IAAQ;AAAA,EACR,SAAAC;AAAA,EACA,UAAAC;AACF,MAMK,sBAAA,cAAA,OAAA,EAAI,WAAWC,IAAe,qCAC5B,GAAAD,KAAa,sBAAA,cAAAE,GAAA,MAAiBF,CAAS,GACvCF,KACC,sBAAA,cAACK,GAAQ,EAAA,OAAO,GAAG,WAAU,+BAC1BL,CACH,GAEF,sBAAA,cAAC,KAAG,MAAAC,CAAQ,GACZ,sBAAA,cAACK,GAAK,EAAA,IAAG,IAAI,GAAA,cAAY,CAC3B;"}
1
+ {"version":3,"file":"ErrorPage-knunPbKI.js","sources":["../src/lib/components/ErrorPage.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const ErrorPage = ({\n title = \"An error occurred\",\n message,\n category,\n}: {\n title?: ReactNode;\n message?: ReactNode;\n category?: ReactNode;\n}) => {\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n {title}\n </Heading>\n )}\n <p>{message}</p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n"],"names":["ErrorPage","title","message","category","jsxs","ProseClasses","jsx","CategoryHeading","Heading","Link"],"mappings":";;;;AAMO,MAAMA,IAAY,CAAC;AAAA,EACxB,OAAAC,IAAQ;AAAA,EACR,SAAAC;AAAA,EACA,UAAAC;AACF,MAMKC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWC,IAAe,sCAC5B,UAAA;AAAA,EAAYF,KAAAG,gBAAAA,EAAAA,IAACC,KAAiB,UAASJ,EAAA,CAAA;AAAA,EACvCF,KACEK,gBAAAA,EAAAA,IAAAE,GAAA,EAAQ,OAAO,GAAG,WAAU,6BAC1B,UACHP,GAAA;AAAA,EAEFK,gBAAAA,EAAAA,IAAC,OAAG,UAAQJ,EAAA,CAAA;AAAA,EACXI,gBAAAA,EAAA,IAAAG,GAAA,EAAK,IAAG,KAAI,UAAY,gBAAA;AAC3B,EAAA,CAAA;"}