zudoku 0.56.0 → 0.57.1

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 (149) hide show
  1. package/dist/app/demo.js +1 -1
  2. package/dist/app/entry.client.js +1 -1
  3. package/dist/app/entry.server.js +1 -1
  4. package/dist/app/main.d.ts +1 -1
  5. package/dist/app/main.js +3 -2
  6. package/dist/app/main.js.map +1 -1
  7. package/dist/app/standalone.js +1 -1
  8. package/dist/config/validators/ProtectedRoutesSchema.d.ts +5 -4
  9. package/dist/config/validators/ProtectedRoutesSchema.js +4 -13
  10. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -1
  11. package/dist/config/validators/validate.d.ts +1 -13
  12. package/dist/lib/components/MobileTopNavigation.js +2 -2
  13. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  14. package/dist/lib/components/TopNavigation.js +2 -2
  15. package/dist/lib/components/TopNavigation.js.map +1 -1
  16. package/dist/lib/components/index.d.ts +0 -29
  17. package/dist/lib/components/index.js +0 -17
  18. package/dist/lib/components/index.js.map +1 -1
  19. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  20. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  21. package/dist/lib/components/navigation/utils.d.ts +1 -1
  22. package/dist/lib/components/navigation/utils.js +1 -1
  23. package/dist/lib/components/navigation/utils.js.map +1 -1
  24. package/dist/lib/core/ZudokuContext.d.ts +2 -1
  25. package/dist/lib/core/ZudokuContext.js +13 -3
  26. package/dist/lib/core/ZudokuContext.js.map +1 -1
  27. package/dist/lib/core/__internal.d.ts +37 -0
  28. package/dist/lib/core/__internal.js +26 -0
  29. package/dist/lib/core/__internal.js.map +1 -0
  30. package/dist/lib/core/router.d.ts +1 -0
  31. package/dist/lib/core/router.js +2 -0
  32. package/dist/lib/core/router.js.map +1 -0
  33. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  34. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  35. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  36. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  37. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  38. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  39. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  40. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  41. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  42. package/dist/vite/{remarkStaticGeneration.d.ts → mdx/remark-static-generation.d.ts} +2 -2
  43. package/dist/vite/{remarkStaticGeneration.js → mdx/remark-static-generation.js} +1 -1
  44. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  45. package/dist/vite/plugin-mdx.js +6 -23
  46. package/dist/vite/plugin-mdx.js.map +1 -1
  47. package/dist/vite/plugin-navigation.js +33 -34
  48. package/dist/vite/plugin-navigation.js.map +1 -1
  49. package/lib/CategoryHeading-DCpZu3yG.js +17 -0
  50. package/lib/CategoryHeading-DCpZu3yG.js.map +1 -0
  51. package/lib/{Command-CfgGXMfJ.js → Command-CDn17s8X.js} +2 -2
  52. package/lib/{Command-CfgGXMfJ.js.map → Command-CDn17s8X.js.map} +1 -1
  53. package/lib/{Dialog-B7YnrNnG.js → Dialog-BrIjMmUK.js} +3 -3
  54. package/lib/{Dialog-B7YnrNnG.js.map → Dialog-BrIjMmUK.js.map} +1 -1
  55. package/lib/{MdxPage-D49lfheg.js → MdxPage-CsYakgbK.js} +16 -15
  56. package/lib/{MdxPage-D49lfheg.js.map → MdxPage-CsYakgbK.js.map} +1 -1
  57. package/lib/{OAuthErrorPage-COKL9zOi.js → OAuthErrorPage-CW81kc7H.js} +7 -7
  58. package/lib/{OAuthErrorPage-COKL9zOi.js.map → OAuthErrorPage-CW81kc7H.js.map} +1 -1
  59. package/lib/{OasProvider-CCv_-asV.js → OasProvider-DF34c7Tj.js} +3 -3
  60. package/lib/{OasProvider-CCv_-asV.js.map → OasProvider-DF34c7Tj.js.map} +1 -1
  61. package/lib/{OperationList-DkS0B0y1.js → OperationList-BT3T9cyh.js} +17 -16
  62. package/lib/{OperationList-DkS0B0y1.js.map → OperationList-BT3T9cyh.js.map} +1 -1
  63. package/lib/{Pagination-VfR2DCXf.js → Pagination-BvcjSQfr.js} +3 -3
  64. package/lib/{Pagination-VfR2DCXf.js.map → Pagination-BvcjSQfr.js.map} +1 -1
  65. package/lib/RouteGuard-JLH6tCY8.js +56 -0
  66. package/lib/RouteGuard-JLH6tCY8.js.map +1 -0
  67. package/lib/RouterError-DcVonMP1.js +41 -0
  68. package/lib/RouterError-DcVonMP1.js.map +1 -0
  69. package/lib/{SchemaList-B7ezc5Uy.js → SchemaList-BSTuCiI1.js} +15 -14
  70. package/lib/{SchemaList-B7ezc5Uy.js.map → SchemaList-BSTuCiI1.js.map} +1 -1
  71. package/lib/{SchemaView-BuL-ycaR.js → SchemaView-B5oMHFaS.js} +4 -4
  72. package/lib/{SchemaView-BuL-ycaR.js.map → SchemaView-B5oMHFaS.js.map} +1 -1
  73. package/lib/{Select-B9h5k2Pz.js → Select-C3efYI1n.js} +8 -8
  74. package/lib/{Select-B9h5k2Pz.js.map → Select-C3efYI1n.js.map} +1 -1
  75. package/lib/{SignUp-Cn_gZ7UN.js → SignUp-BHw9Ci8d.js} +11 -11
  76. package/lib/{SignUp-Cn_gZ7UN.js.map → SignUp-BHw9Ci8d.js.map} +1 -1
  77. package/lib/{Slot-BFCJzl5J.js → Slot-DOtTvoyj.js} +1678 -1912
  78. package/lib/{Slot-BFCJzl5J.js.map → Slot-DOtTvoyj.js.map} +1 -1
  79. package/lib/{SyntaxHighlight-CSW4eaIJ.js → SyntaxHighlight-GR0eix_L.js} +2 -2
  80. package/lib/{SyntaxHighlight-CSW4eaIJ.js.map → SyntaxHighlight-GR0eix_L.js.map} +1 -1
  81. package/lib/{Toc-B9K7a2FS.js → Toc-BlcGIkXc.js} +2 -2
  82. package/lib/{Toc-B9K7a2FS.js.map → Toc-BlcGIkXc.js.map} +1 -1
  83. package/lib/{ZudokuContext-mDDq1hft.js → ZudokuContext-BuJD7yIX.js} +28 -28
  84. package/lib/{ZudokuContext-mDDq1hft.js.map → ZudokuContext-BuJD7yIX.js.map} +1 -1
  85. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +9204 -0
  86. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +1 -0
  87. package/lib/{circular-BMUvC5RK.js → circular-DKJCbMIs.js} +2 -2
  88. package/lib/{circular-BMUvC5RK.js.map → circular-DKJCbMIs.js.map} +1 -1
  89. package/lib/{createServer-I8dX2VSu.js → createServer-DR-J5mEE.js} +4 -4
  90. package/lib/{createServer-I8dX2VSu.js.map → createServer-DR-J5mEE.js.map} +1 -1
  91. package/lib/{errors-D2Qdkul6.js → errors-C1fOoSR8.js} +2 -2
  92. package/lib/{errors-D2Qdkul6.js.map → errors-C1fOoSR8.js.map} +1 -1
  93. package/lib/{hook-CGx8MPrU.js → hook-bv3iuX7X.js} +2 -2
  94. package/lib/{hook-CGx8MPrU.js.map → hook-bv3iuX7X.js.map} +1 -1
  95. package/lib/index-DDHx4NBX.js +1061 -0
  96. package/lib/index-DDHx4NBX.js.map +1 -0
  97. package/lib/{index-DZqSbZzE.js → index-DLcG9mHm.js} +17 -17
  98. package/lib/{index-DZqSbZzE.js.map → index-DLcG9mHm.js.map} +1 -1
  99. package/lib/{index-ChOC1gfC.js → index-HarEI51d.js} +2 -2
  100. package/lib/{index-ChOC1gfC.js.map → index-HarEI51d.js.map} +1 -1
  101. package/lib/{RouteGuard-CSi9-hSR.js → index.esm-BnYHxCYC.js} +226 -281
  102. package/lib/index.esm-BnYHxCYC.js.map +1 -0
  103. package/lib/mutation-Dy_5up8v.js +196 -0
  104. package/lib/mutation-Dy_5up8v.js.map +1 -0
  105. package/lib/ui/Command.js +1 -1
  106. package/lib/ui/SyntaxHighlight.js +2 -2
  107. package/lib/{useExposedProps-DUoV7MCU.js → useExposedProps-BH9aq4MD.js} +32 -32
  108. package/lib/{useExposedProps-DUoV7MCU.js.map → useExposedProps-BH9aq4MD.js.map} +1 -1
  109. package/lib/useLatest-hmRS46UF.js +11 -0
  110. package/lib/useLatest-hmRS46UF.js.map +1 -0
  111. package/lib/zudoku.__internal.js +2965 -0
  112. package/lib/zudoku.__internal.js.map +1 -0
  113. package/lib/zudoku.auth-auth0.js +1 -1
  114. package/lib/zudoku.auth-azureb2c.js +5 -5
  115. package/lib/zudoku.auth-clerk.js +2 -2
  116. package/lib/zudoku.auth-openid.js +5 -5
  117. package/lib/zudoku.auth-supabase.js +2 -2
  118. package/lib/zudoku.components.js +20 -29
  119. package/lib/zudoku.hooks.js +4 -4
  120. package/lib/zudoku.plugin-api-catalog.js +18 -18
  121. package/lib/zudoku.plugin-api-keys.js +27 -26
  122. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  123. package/lib/zudoku.plugin-custom-pages.js +1 -1
  124. package/lib/zudoku.plugin-markdown.js +1 -1
  125. package/lib/zudoku.plugin-openapi.js +4 -4
  126. package/lib/zudoku.plugin-redirect.js +3 -3
  127. package/lib/zudoku.plugin-search-pagefind.js +14 -14
  128. package/lib/zudoku.router.js +123 -0
  129. package/lib/zudoku.router.js.map +1 -0
  130. package/package.json +10 -1
  131. package/src/app/demo.tsx +1 -1
  132. package/src/app/entry.client.tsx +1 -1
  133. package/src/app/entry.server.tsx +1 -1
  134. package/src/app/main.tsx +4 -3
  135. package/src/app/standalone.tsx +1 -1
  136. package/src/lib/components/MobileTopNavigation.tsx +2 -2
  137. package/src/lib/components/TopNavigation.tsx +2 -2
  138. package/src/lib/components/index.ts +0 -20
  139. package/src/lib/components/navigation/NavigationItem.tsx +2 -2
  140. package/src/lib/components/navigation/utils.ts +1 -1
  141. package/src/lib/core/ZudokuContext.ts +22 -5
  142. package/src/lib/core/__internal.tsx +30 -0
  143. package/src/lib/core/router.ts +1 -0
  144. package/dist/vite/remarkStaticGeneration.js.map +0 -1
  145. package/lib/RouteGuard-CSi9-hSR.js.map +0 -1
  146. package/lib/chunk-QMGIS6GS-CdEm9pzB.js +0 -1839
  147. package/lib/chunk-QMGIS6GS-CdEm9pzB.js.map +0 -1
  148. package/lib/index-Cc70HIQT.js +0 -4087
  149. package/lib/index-Cc70HIQT.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import path from "node:path";
2
+ import { visit } from "unist-util-visit";
3
+ export const remarkLinkRewrite = (basePath = "") => (tree) => {
4
+ visit(tree, "link", (node) => {
5
+ if (!node.url)
6
+ return;
7
+ const base = path.join(basePath);
8
+ if (basePath && node.url.startsWith(base)) {
9
+ node.url = node.url.slice(base.length);
10
+ }
11
+ else if (!node.url.startsWith("http") &&
12
+ !node.url.startsWith("mailto:") &&
13
+ !node.url.startsWith("/") &&
14
+ !node.url.startsWith("#")) {
15
+ node.url = path.join("../", node.url);
16
+ }
17
+ node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
18
+ });
19
+ };
20
+ //# sourceMappingURL=remark-link-rewrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-link-rewrite.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-link-rewrite.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,CAClB,CAAC,IAAU,EAAE,EAAE;IACb,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,IACL,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EACzB,CAAC;YACD,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"}
@@ -0,0 +1,2 @@
1
+ import type { Root } from "mdast";
2
+ export declare const remarkNormalizeImageUrl: (basePath: string) => (tree: Root) => void;
@@ -0,0 +1,12 @@
1
+ import { visit } from "unist-util-visit";
2
+ import { joinUrl } from "../../lib/util/joinUrl.js";
3
+ export const remarkNormalizeImageUrl = (basePath) => (tree) => {
4
+ visit(tree, "image", (node) => {
5
+ if (node.url.startsWith("/") &&
6
+ basePath &&
7
+ !node.url.startsWith(basePath)) {
8
+ node.url = joinUrl(basePath, node.url);
9
+ }
10
+ });
11
+ };
12
+ //# sourceMappingURL=remark-normalize-image-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-normalize-image-url.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-normalize-image-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IAC1E,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5B,IACE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,QAAQ;YACR,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC9B,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Root } from "mdast";
2
- import { VFile } from "vfile";
1
+ import type { Root } from "mdast";
2
+ import type { VFile } from "vfile";
3
3
  export declare const remarkStaticGeneration: () => (tree: Root, file: VFile) => Promise<void>;
@@ -122,4 +122,4 @@ export const remarkStaticGeneration = () => async (tree, file) => {
122
122
  injectResult(VARIABLE_NAME, tree, executed);
123
123
  }
124
124
  };
125
- //# sourceMappingURL=remarkStaticGeneration.js.map
125
+ //# sourceMappingURL=remark-static-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-static-generation.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-static-generation.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import mdx from "@mdx-js/rollup";
3
3
  import withToc from "@stefanprobst/rehype-extract-toc";
4
4
  import withTocExport from "@stefanprobst/rehype-extract-toc/mdx";
5
5
  import { toString as hastToString } from "hast-util-to-string";
6
- import path from "node:path";
7
6
  import rehypeMdxImportMedia from "rehype-mdx-import-media";
8
7
  import rehypeSlug from "rehype-slug";
9
8
  import remarkComment from "remark-comment";
@@ -15,9 +14,12 @@ import remarkMdxFrontmatter from "remark-mdx-frontmatter";
15
14
  import { EXIT, visit } from "unist-util-visit";
16
15
  import { getCurrentConfig } from "../config/loader.js";
17
16
  import { createConfiguredShikiRehypePlugins } from "../lib/shiki.js";
17
+ import { remarkInjectFilepath } from "./mdx/remark-inject-filepath.js";
18
18
  import { remarkLastModified } from "./mdx/remark-last-modified.js";
19
+ import { remarkLinkRewrite } from "./mdx/remark-link-rewrite.js";
20
+ import { remarkNormalizeImageUrl } from "./mdx/remark-normalize-image-url.js";
21
+ import { remarkStaticGeneration } from "./mdx/remark-static-generation.js";
19
22
  import { exportMdxjsConst } from "./mdx/utils.js";
20
- import { remarkStaticGeneration } from "./remarkStaticGeneration.js";
21
23
  // Convert mdxJsxFlowElement img elements to regular element nodes
22
24
  // so rehype-mdx-import-media can pick them up
23
25
  const rehypeNormalizeMdxImages = () => (tree) => {
@@ -49,26 +51,6 @@ const rehypeNormalizeMdxImages = () => (tree) => {
49
51
  delete node.position;
50
52
  });
51
53
  };
52
- const remarkLinkRewritePlugin = (basePath = "") => (tree) => {
53
- visit(tree, "link", (node) => {
54
- if (!node.url)
55
- return;
56
- const base = path.join(basePath);
57
- if (basePath && node.url.startsWith(base)) {
58
- node.url = node.url.slice(base.length);
59
- }
60
- else if (!node.url.startsWith("http") &&
61
- !node.url.startsWith("mailto:") &&
62
- !node.url.startsWith("/") &&
63
- !node.url.startsWith("#")) {
64
- node.url = path.join("../", node.url);
65
- }
66
- node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
67
- });
68
- };
69
- const remarkInjectFilepath = (rootDir) => (tree, vfile) => {
70
- tree.children.unshift(exportMdxjsConst("__filepath", path.relative(rootDir, vfile.path)));
71
- };
72
54
  const rehypeExcerptWithMdxExport = () => (tree) => {
73
55
  let excerpt;
74
56
  visit(tree, "element", (node, _index, parent) => {
@@ -105,7 +87,8 @@ const viteMdxPlugin = () => {
105
87
  remarkMdxFrontmatter,
106
88
  remarkDirective,
107
89
  remarkDirectiveRehype,
108
- [remarkLinkRewritePlugin, config.basePath],
90
+ [remarkLinkRewrite, config.basePath],
91
+ [remarkNormalizeImageUrl, config.basePath],
109
92
  ...(config.build?.remarkPlugins ?? []),
110
93
  ],
111
94
  rehypePlugins: [
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,10 @@
1
+ import { stringify } from "javascript-stringify";
1
2
  import { getCurrentConfig } from "../config/loader.js";
2
3
  import { IconNames } from "../config/validators/icon-types.js";
3
4
  import { NavigationResolver } from "../config/validators/NavigationSchema.js";
5
+ import invariant from "../lib/util/invariant.js";
4
6
  import { writePluginDebugCode } from "./debug.js";
5
- const matchIconAnnotation = /"icon":\s*"(.*?)"/g;
6
7
  const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (match) => match.replace("-", "").toUpperCase());
7
- const replaceNavigationIcons = (code) => {
8
- const collectedIcons = new Set();
9
- let match;
10
- while ((match = matchIconAnnotation.exec(code)) !== null) {
11
- if (!IconNames.includes(match[1])) {
12
- // eslint-disable-next-line no-console
13
- console.warn(`Icon ${match[1]} not found, see: https://lucide.dev/icons/`);
14
- collectedIcons.add("MissingIcon as " + toPascalCase(match[1]));
15
- }
16
- else {
17
- collectedIcons.add(toPascalCase(match[1]));
18
- }
19
- }
20
- const importStatement = `import { ${[...collectedIcons].join(", ")} } from "zudoku/icons";`;
21
- const replacedString = code.replaceAll(matchIconAnnotation,
22
- // The element will be created by the implementers side
23
- (_, iconName) => `"icon": ${toPascalCase(iconName)}`);
24
- return [
25
- importStatement,
26
- `export const configuredNavigation = ${replacedString};`,
27
- ].join("\n");
28
- };
29
8
  const virtualModuleId = "virtual:zudoku-navigation";
30
9
  export const resolvedVirtualModuleId = "\0" + virtualModuleId;
31
10
  export const invalidate = (server) => {
@@ -47,17 +26,37 @@ export const viteNavigationPlugin = () => {
47
26
  return;
48
27
  const config = getCurrentConfig();
49
28
  const resolvedNavigation = await new NavigationResolver(config).resolve();
50
- const code = JSON.stringify(resolvedNavigation);
51
- await writePluginDebugCode(config.__meta.rootDir, "navigation-plugin", code, "json");
52
- return code;
53
- },
54
- async transform(code, id) {
55
- if (id !== resolvedVirtualModuleId)
56
- return;
57
- // In the stringified config all occurrences of icons are replaced with icon components
58
- // and their imports are added to the top.
59
- // They will be created as elements when the navigation is rendered.
60
- return replaceNavigationIcons(code);
29
+ const collectedIcons = new Set();
30
+ let hasMissingIcon = false;
31
+ // This stringifies functions and takes care of the icon replacement
32
+ const code = stringify(resolvedNavigation, (value, _indent, next, key) => {
33
+ if (key === "icon" && typeof value === "string") {
34
+ const iconName = toPascalCase(value);
35
+ if (!IconNames.includes(value)) {
36
+ // eslint-disable-next-line no-console
37
+ console.warn(`Icon "${value}" not found, see: https://lucide.dev/icons/`);
38
+ hasMissingIcon = true;
39
+ return "MissingIcon";
40
+ }
41
+ else {
42
+ collectedIcons.add(iconName);
43
+ return iconName;
44
+ }
45
+ }
46
+ return next(value);
47
+ }, 2);
48
+ invariant(code, "Failed to stringify navigation");
49
+ await writePluginDebugCode(config.__meta.rootDir, "navigation-plugin", code, "js");
50
+ if (hasMissingIcon) {
51
+ collectedIcons.add("MissingIcon");
52
+ }
53
+ const importStatement = collectedIcons.size > 0
54
+ ? `import { ${[...collectedIcons].join(", ")} } from "zudoku/icons";\n`
55
+ : "";
56
+ return [
57
+ importStatement,
58
+ `export const configuredNavigation = ${code};`,
59
+ ].join("\n");
61
60
  },
62
61
  };
63
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-navigation.js","sourceRoot":"","sources":["../../src/vite/plugin-navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-navigation.js","sourceRoot":"","sources":["../../src/vite/plugin-navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { j as r } from "./jsx-runtime-C5mzlN2N.js";
2
+ import { a as e } from "./index-DI5SPFK9.js";
3
+ const m = ({
4
+ children: t,
5
+ className: a
6
+ }) => /* @__PURE__ */ r.jsx(
7
+ "div",
8
+ {
9
+ className: e("text-sm font-semibold text-primary mb-2", a),
10
+ "data-pagefind-ignore": "all",
11
+ children: t
12
+ }
13
+ );
14
+ export {
15
+ m as C
16
+ };
17
+ //# sourceMappingURL=CategoryHeading-DCpZu3yG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryHeading-DCpZu3yG.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\n className={cx(\"text-sm font-semibold text-primary mb-2\", className)}\n data-pagefind-ignore=\"all\"\n >\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","jsx","cx"],"mappings":";;AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,MAKIC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,2CAA2CF,CAAS;AAAA,IAClE,wBAAqB;AAAA,IAEpB,UAAAD;AAAA,EAAA;AAAA;"}
@@ -2,7 +2,7 @@ import { j as r } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { _ as s } from "./index-CrcNWbel.js";
3
3
  import { Search as n } from "lucide-react";
4
4
  import * as t from "react";
5
- import { D as p, a as l } from "./Dialog-B7YnrNnG.js";
5
+ import { D as p, a as l } from "./Dialog-BrIjMmUK.js";
6
6
  import { c as o } from "./cn-dYga0KKN.js";
7
7
  const m = t.forwardRef(({ className: a, ...e }, d) => /* @__PURE__ */ r.jsx(
8
8
  s,
@@ -137,4 +137,4 @@ export {
137
137
  m as f,
138
138
  u as g
139
139
  };
140
- //# sourceMappingURL=Command-CfgGXMfJ.js.map
140
+ //# sourceMappingURL=Command-CDn17s8X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command-CfgGXMfJ.js","sources":["../src/lib/ui/Command.tsx"],"sourcesContent":["import { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\nimport { type ComponentPropsWithoutRef } from \"react\";\nimport { Dialog, DialogContent } from \"zudoku/ui/Dialog.js\";\nimport { cn } from \"../util/cn.js\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({\n children,\n command,\n content,\n ...props\n}: DialogProps & {\n command?: ComponentPropsWithoutRef<typeof CommandPrimitive>;\n content?: ComponentPropsWithoutRef<typeof DialogContent>;\n}) => {\n return (\n <Dialog {...props}>\n <DialogContent\n {...content}\n className={cn(\n \"overflow-hidden p-0 shadow-lg top-[15vh] translate-y-[0%]\",\n content?.className,\n )}\n aria-describedby={undefined}\n >\n <Command\n {...command}\n className={cn(\n \"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\",\n command?.className,\n )}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandInlineInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property\n <div className=\"flex items-center\" cmdk-input-wrapper=\"\">\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInlineInput.displayName = CommandPrimitive.Input.displayName;\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInlineInput,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["Command","React","className","props","ref","jsx","CommandPrimitive","cn","CommandDialog","children","command","content","Dialog","DialogContent","CommandInput","jsxs","Search","CommandInlineInput","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem"],"mappings":"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"}
1
+ {"version":3,"file":"Command-CDn17s8X.js","sources":["../src/lib/ui/Command.tsx"],"sourcesContent":["import { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\nimport { type ComponentPropsWithoutRef } from \"react\";\nimport { Dialog, DialogContent } from \"zudoku/ui/Dialog.js\";\nimport { cn } from \"../util/cn.js\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({\n children,\n command,\n content,\n ...props\n}: DialogProps & {\n command?: ComponentPropsWithoutRef<typeof CommandPrimitive>;\n content?: ComponentPropsWithoutRef<typeof DialogContent>;\n}) => {\n return (\n <Dialog {...props}>\n <DialogContent\n {...content}\n className={cn(\n \"overflow-hidden p-0 shadow-lg top-[15vh] translate-y-[0%]\",\n content?.className,\n )}\n aria-describedby={undefined}\n >\n <Command\n {...command}\n className={cn(\n \"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\",\n command?.className,\n )}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandInlineInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property\n <div className=\"flex items-center\" cmdk-input-wrapper=\"\">\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInlineInput.displayName = CommandPrimitive.Input.displayName;\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInlineInput,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["Command","React","className","props","ref","jsx","CommandPrimitive","cn","CommandDialog","children","command","content","Dialog","DialogContent","CommandInput","jsxs","Search","CommandInlineInput","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem"],"mappings":"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"}
@@ -104,11 +104,11 @@ y.displayName = e.Description.displayName;
104
104
  export {
105
105
  b as D,
106
106
  f as a,
107
- x as b,
108
- g as c,
107
+ g as b,
108
+ x as c,
109
109
  y as d,
110
110
  u as e,
111
111
  v as f,
112
112
  j as g
113
113
  };
114
- //# sourceMappingURL=Dialog-B7YnrNnG.js.map
114
+ //# sourceMappingURL=Dialog-BrIjMmUK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog-B7YnrNnG.js","sources":["../src/lib/ui/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport * as React from \"react\";\n\nimport { CircleIcon, XIcon } from \"lucide-react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n }\n>(({ className, children, showCloseButton = true, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close className=\"absolute p-3 group -left-1.5 -top-1.5 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <CircleIcon\n className=\"h-2 w-2 transition-all border border-transparent group-hover:border-white/20 rounded-full group-hover:scale-180 group-hover:text-red-400\"\n strokeWidth={2}\n fill=\"currentColor\"\n />\n <XIcon\n className=\"h-2 w-2 absolute top-3 left-3 text-transparent group-hover:text-red-800 transition-colors\"\n strokeWidth={2}\n fill=\"currentColor\"\n />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","showCloseButton","jsxs","CircleIcon","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;;AAMA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAE/BG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMW,IAAgBN,EAAM,WAK1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,iBAAAC,IAAkB,IAAM,GAAGN,EAAA,GAASC,6BAC3DN,GAAA,EACC,UAAA;AAAA,EAAAO,gBAAAA,EAAAA,IAACL,GAAA,EAAc;AAAA,EACfU,gBAAAA,EAAAA;AAAAA,IAACd,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACAC,KACCC,gBAAAA,EAAAA,KAACd,EAAgB,OAAhB,EAAsB,WAAU,kSAC/B,UAAA;AAAA,UAAAS,gBAAAA,EAAAA;AAAAA,YAACM;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,aAAa;AAAA,cACb,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEPN,gBAAAA,EAAAA;AAAAA,YAACO;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,aAAa;AAAA,cACb,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEPP,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,QAAA,EAAA,CACjC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAEJ,GACF,CACD;AACDE,EAAc,cAAcX,EAAgB,QAAQ;AAEpD,MAAMiB,IAAe,CAAC;AAAA,EACpB,WAAAX;AAAA,EACA,GAAGC;AACL,MACEE,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFU,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC;AAAA,EACpB,WAAAZ;AAAA,EACA,GAAGC;AACL,MACEE,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFW,EAAa,cAAc;AAE3B,MAAMC,IAAcd,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDY,EAAY,cAAcnB,EAAgB,MAAM;AAEhD,MAAMoB,IAAoBf,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDa,EAAkB,cAAcpB,EAAgB,YAAY;"}
1
+ {"version":3,"file":"Dialog-BrIjMmUK.js","sources":["../src/lib/ui/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport * as React from \"react\";\n\nimport { CircleIcon, XIcon } from \"lucide-react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n }\n>(({ className, children, showCloseButton = true, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close className=\"absolute p-3 group -left-1.5 -top-1.5 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <CircleIcon\n className=\"h-2 w-2 transition-all border border-transparent group-hover:border-white/20 rounded-full group-hover:scale-180 group-hover:text-red-400\"\n strokeWidth={2}\n fill=\"currentColor\"\n />\n <XIcon\n className=\"h-2 w-2 absolute top-3 left-3 text-transparent group-hover:text-red-800 transition-colors\"\n strokeWidth={2}\n fill=\"currentColor\"\n />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","showCloseButton","jsxs","CircleIcon","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;;AAMA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAE/BG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMW,IAAgBN,EAAM,WAK1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,iBAAAC,IAAkB,IAAM,GAAGN,EAAA,GAASC,6BAC3DN,GAAA,EACC,UAAA;AAAA,EAAAO,gBAAAA,EAAAA,IAACL,GAAA,EAAc;AAAA,EACfU,gBAAAA,EAAAA;AAAAA,IAACd,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACAC,KACCC,gBAAAA,EAAAA,KAACd,EAAgB,OAAhB,EAAsB,WAAU,kSAC/B,UAAA;AAAA,UAAAS,gBAAAA,EAAAA;AAAAA,YAACM;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,aAAa;AAAA,cACb,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEPN,gBAAAA,EAAAA;AAAAA,YAACO;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,aAAa;AAAA,cACb,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEPP,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,QAAA,EAAA,CACjC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAEJ,GACF,CACD;AACDE,EAAc,cAAcX,EAAgB,QAAQ;AAEpD,MAAMiB,IAAe,CAAC;AAAA,EACpB,WAAAX;AAAA,EACA,GAAGC;AACL,MACEE,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFU,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC;AAAA,EACpB,WAAAZ;AAAA,EACA,GAAGC;AACL,MACEE,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFW,EAAa,cAAc;AAE3B,MAAMC,IAAcd,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDY,EAAY,cAAcnB,EAAgB,MAAM;AAEhD,MAAMoB,IAAoBf,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDa,EAAkB,cAAcpB,EAAgB,YAAY;"}
@@ -1,18 +1,19 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
- import { s as T } from "./index-ChOC1gfC.js";
3
- import { H as M } from "./RouteGuard-CSi9-hSR.js";
2
+ import { s as T } from "./index-HarEI51d.js";
3
+ import { H as M } from "./index.esm-BnYHxCYC.js";
4
4
  import { EditIcon as P } from "lucide-react";
5
5
  import { useEffect as L } from "react";
6
6
  import { B as S } from "./Button-B3o-2Xdf.js";
7
- import { T as k, C, H as h } from "./Slot-BFCJzl5J.js";
8
- import { P as H } from "./Pagination-VfR2DCXf.js";
9
- import { T as D } from "./Toc-B9K7a2FS.js";
10
- import { u as I, a as R } from "./ZudokuContext-mDDq1hft.js";
11
- import { u as A } from "./useExposedProps-DUoV7MCU.js";
7
+ import { C as k } from "./CategoryHeading-DCpZu3yG.js";
8
+ import { T as C, H as h } from "./Slot-DOtTvoyj.js";
9
+ import { P as H } from "./Pagination-BvcjSQfr.js";
10
+ import { T as D } from "./Toc-BlcGIkXc.js";
11
+ import { u as I, a as R } from "./ZudokuContext-BuJD7yIX.js";
12
+ import { u as A } from "./useExposedProps-BH9aq4MD.js";
12
13
  const _ = {
13
14
  h2: ({ children: t, id: s }) => /* @__PURE__ */ e.jsx(h, { level: 2, id: s, registerNavigationAnchor: !0, children: t }),
14
15
  h3: ({ children: t, id: s }) => /* @__PURE__ */ e.jsx(h, { level: 3, id: s, registerNavigationAnchor: !0, children: t })
15
- }, Q = ({
16
+ }, Y = ({
16
17
  mdxComponent: t,
17
18
  frontmatter: s = {},
18
19
  defaultOptions: r,
@@ -21,7 +22,7 @@ const _ = {
21
22
  excerpt: j
22
23
  }) => {
23
24
  const v = I()?.categoryLabel, o = s.title, p = s.description ?? j, c = s.category ?? v, w = s.toc === !1 || r?.toc === !1, b = o ?? n.find((i) => i.depth === 1)?.value, N = s.disable_pager ?? s.disablePager ?? r?.disablePager ?? !1, f = s.showLastModified ?? r?.showLastModified ?? !0, d = s.lastModifiedTime ? new Date(s.lastModifiedTime) : null, l = s.suggestEdit !== !1 && (s.suggestEdit ?? r?.suggestEdit), g = l ? l.url.replaceAll("{filePath}", a) : null, y = l ? l.text || "Edit this page" : null, u = n.find((i) => i.depth === 1)?.children ?? // if `title` is provided by frontmatter it does not appear in the table of contents
24
- n.filter((i) => i.depth === 2), E = !w && u.length > 0, { prev: x, next: m } = R();
25
+ n.filter((i) => i.depth === 2), E = !w && u.length > 0, { prev: m, next: x } = R();
25
26
  return L(() => {
26
27
  if (process.env.NODE_ENV === "development")
27
28
  return window.__getReactRefreshIgnoredExports = ({ id: i }) => {
@@ -41,9 +42,9 @@ const _ = {
41
42
  /* @__PURE__ */ e.jsx("title", { children: b }),
42
43
  p && /* @__PURE__ */ e.jsx("meta", { name: "description", content: p })
43
44
  ] }),
44
- /* @__PURE__ */ e.jsxs(k, { className: "max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)", children: [
45
+ /* @__PURE__ */ e.jsxs(C, { className: "max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)", children: [
45
46
  (c || o) && /* @__PURE__ */ e.jsxs("header", { children: [
46
- c && /* @__PURE__ */ e.jsx(C, { children: c }),
47
+ c && /* @__PURE__ */ e.jsx(k, { children: c }),
47
48
  o && /* @__PURE__ */ e.jsx(h, { level: 1, id: T(o), children: o })
48
49
  ] }),
49
50
  /* @__PURE__ */ e.jsx(
@@ -92,8 +93,8 @@ const _ = {
92
93
  /* @__PURE__ */ e.jsx(
93
94
  H,
94
95
  {
95
- prev: x ? { to: x.id, label: x.label } : void 0,
96
- next: m ? { to: m.id, label: m.label } : void 0,
96
+ prev: m ? { to: m.id, label: m.label } : void 0,
97
+ next: x ? { to: x.id, label: x.label } : void 0,
97
98
  className: "mb-10"
98
99
  }
99
100
  )
@@ -105,6 +106,6 @@ const _ = {
105
106
  );
106
107
  };
107
108
  export {
108
- Q as MdxPage
109
+ Y as MdxPage
109
110
  };
110
- //# sourceMappingURL=MdxPage-D49lfheg.js.map
111
+ //# sourceMappingURL=MdxPage-CsYakgbK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdxPage-D49lfheg.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { EditIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useEffect } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { type MarkdownPluginDefaultOptions, type MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </header>\n )}\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(undefined, {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label } : undefined}\n next={next ? { to: next.id, label: next.label } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","useMDXComponents","Button","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
1
+ {"version":3,"file":"MdxPage-CsYakgbK.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { EditIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useEffect } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { type MarkdownPluginDefaultOptions, type MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </header>\n )}\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(undefined, {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label } : undefined}\n next={next ? { to: next.id, label: next.label } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","useMDXComponents","Button","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
- import { b as m, j as h } from "./ZudokuContext-mDDq1hft.js";
3
- import { N as g, L as y } from "./chunk-QMGIS6GS-CdEm9pzB.js";
4
- import { u as _ } from "./index-Cc70HIQT.js";
5
- import { O as d } from "./errors-D2Qdkul6.js";
2
+ import { b as m, j as h } from "./ZudokuContext-BuJD7yIX.js";
3
+ import { e as g, L as y } from "./chunk-QMGIS6GS-DqecZ6nq.js";
4
+ import { u as _ } from "./index-DDHx4NBX.js";
5
+ import { O as d } from "./errors-C1fOoSR8.js";
6
6
  import { HomeIcon as v } from "lucide-react";
7
- import { H as f, T as o } from "./Slot-BFCJzl5J.js";
7
+ import { H as f, T as o } from "./Slot-DOtTvoyj.js";
8
8
  import { Button as c } from "./ui/Button.js";
9
- import { a as x } from "./hook-CGx8MPrU.js";
9
+ import { a as x } from "./hook-bv3iuX7X.js";
10
10
  function w(r, i, n = "/") {
11
11
  return r.startsWith(i) ? n !== "/" && r.startsWith(i + n) ? r.slice(i.length + n.length) : r.slice(i.length) : r;
12
12
  }
@@ -147,4 +147,4 @@ export {
147
147
  U as C,
148
148
  q as O
149
149
  };
150
- //# sourceMappingURL=OAuthErrorPage-COKL9zOi.js.map
150
+ //# sourceMappingURL=OAuthErrorPage-CW81kc7H.js.map