zudoku 0.13.1 → 0.13.3

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 (85) hide show
  1. package/dist/config/validators/InputSidebarSchema.d.ts +19 -4
  2. package/dist/config/validators/InputSidebarSchema.js +7 -28
  3. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  4. package/dist/config/validators/SidebarSchema.js +5 -6
  5. package/dist/config/validators/SidebarSchema.js.map +1 -1
  6. package/dist/config/validators/validate.d.ts +6 -6
  7. package/dist/lib/components/MobileTopNavigation.js +1 -1
  8. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  9. package/dist/lib/components/navigation/Sidebar.js +1 -1
  10. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  11. package/dist/lib/components/navigation/SidebarCategory.js +18 -7
  12. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  13. package/dist/lib/components/navigation/SidebarItem.js +12 -5
  14. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  15. package/dist/lib/plugins/custom-pages/CustomPage.js +2 -1
  16. package/dist/lib/plugins/custom-pages/CustomPage.js.map +1 -1
  17. package/dist/lib/plugins/markdown/MdxPage.js +1 -1
  18. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  19. package/dist/lib/plugins/openapi/playground/Playground.js +1 -0
  20. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  21. package/dist/vite/plugin-mdx.js +17 -0
  22. package/dist/vite/plugin-mdx.js.map +1 -1
  23. package/lib/{AuthenticationPlugin-CbgJ5SAh.js → AuthenticationPlugin-D1nhROkO.js} +3 -3
  24. package/lib/{AuthenticationPlugin-CbgJ5SAh.js.map → AuthenticationPlugin-D1nhROkO.js.map} +1 -1
  25. package/lib/CategoryHeading-B7TlPvuN.js +10 -0
  26. package/lib/CategoryHeading-B7TlPvuN.js.map +1 -0
  27. package/lib/{DeveloperHint-CiXPc9Xm.js → DeveloperHint-B_QCCafl.js} +2 -2
  28. package/lib/{DeveloperHint-CiXPc9Xm.js.map → DeveloperHint-B_QCCafl.js.map} +1 -1
  29. package/lib/ErrorPage-DqqAV1dr.js +16 -0
  30. package/lib/{ErrorPage-B-zoPPVx.js.map → ErrorPage-DqqAV1dr.js.map} +1 -1
  31. package/lib/{Input-QMLhK7Rb.js → Input-a9rLgbP_.js} +4 -4
  32. package/lib/{Input-QMLhK7Rb.js.map → Input-a9rLgbP_.js.map} +1 -1
  33. package/lib/{Markdown-D6Nze6qq.js → Markdown-Y__eLG0x.js} +5677 -3406
  34. package/lib/Markdown-Y__eLG0x.js.map +1 -0
  35. package/lib/{MdxPage-DBhq6-5F.js → MdxPage-B4FcPIi5.js} +15 -15
  36. package/lib/MdxPage-B4FcPIi5.js.map +1 -0
  37. package/lib/{OperationList-Ba24gUd2.js → OperationList-BhLMwPSh.js} +23 -23
  38. package/lib/{OperationList-Ba24gUd2.js.map → OperationList-BhLMwPSh.js.map} +1 -1
  39. package/lib/{Route-DI38nxYt.js → Route-fK1i4Ryz.js} +3 -3
  40. package/lib/{Route-DI38nxYt.js.map → Route-fK1i4Ryz.js.map} +1 -1
  41. package/lib/{SidebarBadge-B9-VJSQr.js → SidebarBadge-BdzN0ZBK.js} +3 -3
  42. package/lib/{SidebarBadge-B9-VJSQr.js.map → SidebarBadge-BdzN0ZBK.js.map} +1 -1
  43. package/lib/{SlotletProvider-Cb8mGpBO.js → SlotletProvider-DmqWiVFt.js} +17 -16
  44. package/lib/{SlotletProvider-Cb8mGpBO.js.map → SlotletProvider-DmqWiVFt.js.map} +1 -1
  45. package/lib/{ZudokuContext-BEmsYQoq.js → ZudokuContext-MRoel6bS.js} +2 -2
  46. package/lib/{ZudokuContext-BEmsYQoq.js.map → ZudokuContext-MRoel6bS.js.map} +1 -1
  47. package/lib/{index-dgcPryXi.js → index-BijFM__9.js} +3 -3
  48. package/lib/{index-dgcPryXi.js.map → index-BijFM__9.js.map} +1 -1
  49. package/lib/{index-BRCiYFaL.js → index-DFN92YJN.js} +3 -2
  50. package/lib/{index-BRCiYFaL.js.map → index-DFN92YJN.js.map} +1 -1
  51. package/lib/{index-g_JJcuFg.js → index-_GxJ8hpM.js} +35 -36
  52. package/lib/{index-g_JJcuFg.js.map → index-_GxJ8hpM.js.map} +1 -1
  53. package/lib/{index-DA74gNq3.js → index-dHVZhVNO.js} +111 -111
  54. package/lib/index-dHVZhVNO.js.map +1 -0
  55. package/lib/{router-Oe6YmY6B.js → router-BsfSoK2j.js} +3 -3
  56. package/lib/{router-Oe6YmY6B.js.map → router-BsfSoK2j.js.map} +1 -1
  57. package/lib/{useExposedProps-Csw8oAlt.js → useExposedProps-BWwxa-Hg.js} +2 -2
  58. package/lib/{useExposedProps-Csw8oAlt.js.map → useExposedProps-BWwxa-Hg.js.map} +1 -1
  59. package/lib/{utils-Chi3p5nE.js → utils-C8S3st2k.js} +3 -3
  60. package/lib/{utils-Chi3p5nE.js.map → utils-C8S3st2k.js.map} +1 -1
  61. package/lib/zudoku.auth-clerk.js +1 -1
  62. package/lib/zudoku.auth-openid.js +5 -5
  63. package/lib/zudoku.components.js +650 -644
  64. package/lib/zudoku.components.js.map +1 -1
  65. package/lib/zudoku.plugin-api-keys.js +7 -7
  66. package/lib/zudoku.plugin-custom-pages.js +14 -14
  67. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  68. package/lib/zudoku.plugin-markdown.js +1 -1
  69. package/lib/zudoku.plugin-openapi.js +7 -7
  70. package/lib/zudoku.plugin-redirect.js +1 -1
  71. package/package.json +1 -1
  72. package/src/app/main.css +0 -1
  73. package/src/lib/components/MobileTopNavigation.tsx +1 -1
  74. package/src/lib/components/navigation/Sidebar.tsx +1 -1
  75. package/src/lib/components/navigation/SidebarCategory.tsx +34 -26
  76. package/src/lib/components/navigation/SidebarItem.tsx +16 -17
  77. package/src/lib/plugins/custom-pages/CustomPage.tsx +4 -1
  78. package/src/lib/plugins/markdown/MdxPage.tsx +10 -8
  79. package/src/lib/plugins/openapi/playground/Playground.tsx +1 -0
  80. package/lib/ErrorPage-B-zoPPVx.js +0 -15
  81. package/lib/Markdown-D6Nze6qq.js.map +0 -1
  82. package/lib/MdxPage-DBhq6-5F.js.map +0 -1
  83. package/lib/cn-BmFQLtkS.js +0 -2279
  84. package/lib/cn-BmFQLtkS.js.map +0 -1
  85. package/lib/index-DA74gNq3.js.map +0 -1
@@ -30,6 +30,19 @@ const remarkLinkRewritePlugin = () => (tree) => {
30
30
  node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
31
31
  });
32
32
  };
33
+ const rehypeMediaBasePath = (basePath = "") =>
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ (tree) => {
36
+ if (!basePath)
37
+ return;
38
+ visit(tree, "element", (node) => {
39
+ if (node.tagName !== "img" && node.tagName !== "video")
40
+ return;
41
+ if (node.properties.src && !node.properties.src.startsWith("http")) {
42
+ node.properties.src = path.join(basePath, node.properties.src);
43
+ }
44
+ });
45
+ };
33
46
  const viteMdxPlugin = (getConfig) => {
34
47
  const config = getConfig();
35
48
  return {
@@ -38,6 +51,9 @@ const viteMdxPlugin = (getConfig) => {
38
51
  providerImportSource: config.mode === "internal" || config.mode === "standalone"
39
52
  ? "@mdx-js/react"
40
53
  : "zudoku/components",
54
+ // Treat .md files as MDX
55
+ mdxExtensions: [".md", ".mdx"],
56
+ format: "mdx",
41
57
  remarkPlugins: [
42
58
  remarkComment,
43
59
  remarkGfm,
@@ -52,6 +68,7 @@ const viteMdxPlugin = (getConfig) => {
52
68
  rehypeSlug,
53
69
  rehypeCodeBlockPlugin,
54
70
  rehypeMetaAsAttributes,
71
+ [rehypeMediaBasePath, config.basePath],
55
72
  withToc,
56
73
  withTocExport,
57
74
  ...(config.build?.rehypePlugins ?? []),
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,GAAqB,MAAM,gBAAgB,CAAC;AACnD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAQF,MAAM,aAAa,GAAG,CAAC,SAAoC,EAAU,EAAE;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,GAAG,GAAG,CAAC;YACL,oBAAoB,EAClB,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;gBACxD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,mBAAmB;YACzB,aAAa,EAAE;gBACb,aAAa;gBACb,SAAS;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,eAAe;gBACf,qBAAqB;gBACrB,uBAAuB;gBACvB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;aACvC;YACD,aAAa,EAAE;gBACb,UAAU;gBACV,qBAAqB;gBACrB,sBAAsB;gBACtB,OAAO;gBACP,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;aACvC;SACF,CAAC;QACF,IAAI,EAAE,mBAAmB;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,GAAqB,MAAM,gBAAgB,CAAC;AACnD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mBAAmB,GACvB,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE;AAClB,8DAA8D;AAC9D,CAAC,IAAS,EAAE,EAAE;IACZ,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QAE/D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAQJ,MAAM,aAAa,GAAG,CAAC,SAAoC,EAAU,EAAE;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,GAAG,GAAG,CAAC;YACL,oBAAoB,EAClB,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;gBACxD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,mBAAmB;YACzB,yBAAyB;YACzB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;YAC9B,MAAM,EAAE,KAAK;YACb,aAAa,EAAE;gBACb,aAAa;gBACb,SAAS;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,eAAe;gBACf,qBAAqB;gBACrB,uBAAuB;gBACvB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;aACvC;YACD,aAAa,EAAE;gBACb,UAAU;gBACV,qBAAqB;gBACrB,sBAAsB;gBACtB,CAAC,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACtC,OAAO;gBACP,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;aACvC;SACF,CAAC;QACF,IAAI,EAAE,mBAAmB;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { j as i } from "./jsx-runtime-B6kdoens.js";
2
2
  import { useEffect as o } from "react";
3
- import { b as a, a as u } from "./index-BRCiYFaL.js";
4
- import { u as s } from "./ZudokuContext-BEmsYQoq.js";
3
+ import { b as a, a as u } from "./index-DFN92YJN.js";
4
+ import { u as s } from "./ZudokuContext-MRoel6bS.js";
5
5
  const r = () => {
6
6
  const t = s(), [n] = a();
7
7
  return o(() => {
@@ -52,4 +52,4 @@ class x {
52
52
  export {
53
53
  x as A
54
54
  };
55
- //# sourceMappingURL=AuthenticationPlugin-CbgJ5SAh.js.map
55
+ //# sourceMappingURL=AuthenticationPlugin-D1nhROkO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationPlugin-CbgJ5SAh.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;"}
1
+ {"version":3,"file":"AuthenticationPlugin-D1nhROkO.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-Y__eLG0x.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-B7TlPvuN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryHeading-B7TlPvuN.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;"}
@@ -1,5 +1,5 @@
1
1
  import { j as e } from "./jsx-runtime-B6kdoens.js";
2
- import { a as i } from "./Markdown-D6Nze6qq.js";
2
+ import { C as i } from "./Markdown-Y__eLG0x.js";
3
3
  const n = ({
4
4
  children: s,
5
5
  className: t
@@ -13,4 +13,4 @@ const n = ({
13
13
  export {
14
14
  n as D
15
15
  };
16
- //# sourceMappingURL=DeveloperHint-CiXPc9Xm.js.map
16
+ //# sourceMappingURL=DeveloperHint-B_QCCafl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeveloperHint-CiXPc9Xm.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;"}
1
+ {"version":3,"file":"DeveloperHint-B_QCCafl.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,16 @@
1
+ import { j as r } from "./jsx-runtime-B6kdoens.js";
2
+ import { C as o } from "./CategoryHeading-B7TlPvuN.js";
3
+ import { P as n, H as i } from "./Markdown-Y__eLG0x.js";
4
+ const d = ({
5
+ title: e = "An error occurred",
6
+ message: a,
7
+ category: s
8
+ }) => /* @__PURE__ */ r.jsxs("div", { className: n + " h-full pt-[--padding-content-top]", children: [
9
+ s && /* @__PURE__ */ r.jsx(o, { children: s }),
10
+ e && /* @__PURE__ */ r.jsx(i, { level: 1, className: "flex gap-3.5 items-center", children: e }),
11
+ /* @__PURE__ */ r.jsx("p", { children: a })
12
+ ] });
13
+ export {
14
+ d as E
15
+ };
16
+ //# sourceMappingURL=ErrorPage-DqqAV1dr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorPage-B-zoPPVx.js","sources":["../src/lib/components/ErrorPage.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\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 </div>\n );\n};\n"],"names":["ErrorPage","title","message","category","jsxs","ProseClasses","jsx","CategoryHeading","Heading"],"mappings":";;AAKO,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;AACd,EAAA,CAAA;"}
1
+ {"version":3,"file":"ErrorPage-DqqAV1dr.js","sources":["../src/lib/components/ErrorPage.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\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 </div>\n );\n};\n"],"names":["ErrorPage","title","message","category","jsxs","ProseClasses","jsx","CategoryHeading","Heading"],"mappings":";;;AAKO,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;AACd,EAAA,CAAA;"}
@@ -5,12 +5,12 @@ var _t = (e, r, t) => r.has(e) || zt("Cannot " + t);
5
5
  var Z = (e, r, t) => (_t(e, r, "read from private field"), t ? t.call(e) : r.get(e)), Ue = (e, r, t) => r.has(e) ? zt("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(e) : r.set(e, t), He = (e, r, t, s) => (_t(e, r, "write to private field"), s ? s.call(e, t) : r.set(e, t), t), We = (e, r, t) => (_t(e, r, "access private method"), t);
6
6
  import * as p from "react";
7
7
  import I from "react";
8
- import { o as ps, f as hs, c as ms, p as ir, d as _e, A as ys, P as me, b as oe, e as De, j as gs, k as vs, R as xs, S as _s, F as Ss, D as bs, C as ws, a as Bt, q as Cs, V as As, i as Vs, m as Fs, h as Es, u as Yt, r as Ts } from "./index-g_JJcuFg.js";
9
- import { S as Is, s as Rs, h as Xt, n as ar, a as Ns, d as Ds, e as Ps } from "./ZudokuContext-BEmsYQoq.js";
8
+ import { o as ps, f as hs, c as ms, p as ir, d as _e, A as ys, P as me, b as oe, e as De, j as gs, k as vs, R as xs, S as _s, F as Ss, D as bs, C as ws, a as Bt, q as Cs, V as As, i as Vs, m as Fs, h as Es, u as Yt, r as Ts } from "./index-_GxJ8hpM.js";
9
+ import { S as Is, s as Rs, h as Xt, n as ar, a as Ns, d as Ds, e as Ps } from "./ZudokuContext-MRoel6bS.js";
10
10
  import { j as b } from "./jsx-runtime-B6kdoens.js";
11
11
  import * as lr from "react-dom";
12
12
  import { ChevronDown as cr, ChevronUp as ks, Check as Ms } from "lucide-react";
13
- import { c as Ee } from "./cn-BmFQLtkS.js";
13
+ import { a as Ee } from "./Markdown-Y__eLG0x.js";
14
14
  var Re, Ne, de, Ae, Fe, nt, Nt, nr, Os = (nr = class extends Is {
15
15
  constructor(r, t) {
16
16
  super();
@@ -2226,4 +2226,4 @@ export {
2226
2226
  pt as h,
2227
2227
  qo as u
2228
2228
  };
2229
- //# sourceMappingURL=Input-QMLhK7Rb.js.map
2229
+ //# sourceMappingURL=Input-a9rLgbP_.js.map