@quietmind/mdx-docs 0.1.17 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- :root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:#1976d233;color:inherit}::-moz-selection{background-color:#1976d233;color:inherit}@media (prefers-color-scheme: dark){::selection{background-color:#90caf94d;color:inherit}::-moz-selection{background-color:#90caf94d;color:inherit}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{min-height:100vh;width:100%;margin:0;padding:0}h1{font-size:3.2em;line-height:1.1}@media (max-width: 768px){h1{font-size:2em}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media (max-width: 600px){*{word-wrap:break-word;overflow-wrap:break-word}body{word-wrap:break-word;overflow-wrap:break-word;overflow-x:hidden}pre,code{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,p{word-wrap:break-word;overflow-wrap:break-word}}@media (max-width: 378px){html,body{overflow-x:hidden;width:100%}*{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}pre,code{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}}
1
+ :root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:#1976d233;color:inherit}::-moz-selection{background-color:#1976d233;color:inherit}@media(prefers-color-scheme:dark){::selection{background-color:#90caf94d;color:inherit}::-moz-selection{background-color:#90caf94d;color:inherit}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{min-height:100vh;width:100%;margin:0;padding:0}h1{font-size:3.2em;line-height:1.1}@media(max-width:768px){h1{font-size:2em}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media(max-width:600px){*{word-wrap:break-word;overflow-wrap:break-word}body{word-wrap:break-word;overflow-wrap:break-word;overflow-x:hidden}pre,code{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,p{word-wrap:break-word;overflow-wrap:break-word}}@media(max-width:378px){html,body{overflow-x:hidden;width:100%}*{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}pre,code{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}}
package/dist/index.js CHANGED
@@ -1,47 +1,47 @@
1
- import { jsx as a, jsxs as m, Fragment as U } from "react/jsx-runtime";
2
- import X, { createContext as Z, useContext as K, useState as F, Suspense as q, useEffect as x, useLayoutEffect as Y, useMemo as V, StrictMode as J } from "react";
3
- import { createRoot as Q } from "react-dom/client";
4
- import { AppBar as ee, Toolbar as P, IconButton as v, Typography as te, Box as f, useTheme as D, Tooltip as re, CircularProgress as ae, List as ne, ListItem as oe, ListItemButton as se, ListItemText as ie, Drawer as $, createTheme as le, ThemeProvider as ce, CssBaseline as de } from "@mui/material";
5
- import { Link as L, Routes as pe, Route as I, useLocation as B, BrowserRouter as ue, useNavigate as fe } from "react-router-dom";
6
- import ge from "@mui/icons-material/DarkMode";
7
- import me from "@mui/icons-material/LightMode";
8
- import be from "@mui/icons-material/Menu";
9
- import { MDXProvider as he } from "@mdx-js/react";
10
- import ye from "@mui/icons-material/Check";
11
- import Se from "@mui/icons-material/ContentCopy";
12
- import { Highlight as M } from "prism-react-renderer";
13
- import xe from "prismjs";
14
- const j = Z(null), ke = ({ pages: e, site: t, children: r }) => /* @__PURE__ */ a(j.Provider, { value: { pages: e, site: t }, children: r }), E = () => {
15
- const e = K(j);
1
+ import { jsx as a, jsxs as m, Fragment as Z } from "react/jsx-runtime";
2
+ import { createContext as K, useContext as q, useState as E, Suspense as Y, useEffect as x, useLayoutEffect as V, useMemo as J, StrictMode as Q } from "react";
3
+ import { createRoot as ee } from "react-dom/client";
4
+ import { AppBar as te, Toolbar as D, IconButton as A, Typography as F, Box as f, useTheme as B, Tooltip as re, Link as ae, TableCell as I, TableRow as ne, TableBody as oe, TableHead as se, CircularProgress as ie, TableContainer as le, Paper as ce, Table as de, List as pe, ListItem as ue, ListItemButton as fe, ListItemText as ge, Drawer as O, createTheme as me, ThemeProvider as be, CssBaseline as he } from "@mui/material";
5
+ import { Link as M, Routes as ye, Route as R, useLocation as H, BrowserRouter as Se, useNavigate as xe } from "react-router-dom";
6
+ import ke from "@mui/icons-material/DarkMode";
7
+ import we from "@mui/icons-material/LightMode";
8
+ import ve from "@mui/icons-material/Menu";
9
+ import { MDXProvider as Ae } from "@mdx-js/react";
10
+ import Fe from "@mui/icons-material/Check";
11
+ import Ee from "@mui/icons-material/ContentCopy";
12
+ import { Highlight as j } from "prism-react-renderer";
13
+ import Te from "prismjs";
14
+ const G = K(null), _e = ({ pages: e, site: t, hideHomeFromNav: r = !1, children: n }) => /* @__PURE__ */ a(G.Provider, { value: { pages: e, site: t, hideHomeFromNav: r }, children: n }), T = () => {
15
+ const e = q(G);
16
16
  if (!e)
17
17
  throw new Error("useDocsContext must be used within a DocsProvider");
18
18
  return e;
19
19
  };
20
- function we({ darkMode: e, setDarkMode: t, handleDrawerToggle: r }) {
21
- const { site: n } = E();
20
+ function $e({ darkMode: e, setDarkMode: t, handleDrawerToggle: r }) {
21
+ const { site: n } = T();
22
22
  return /* @__PURE__ */ a(
23
- ee,
23
+ te,
24
24
  {
25
25
  position: "fixed",
26
26
  sx: { zIndex: (i) => i.zIndex.drawer + 1 },
27
- children: /* @__PURE__ */ m(P, { children: [
27
+ children: /* @__PURE__ */ m(D, { children: [
28
28
  /* @__PURE__ */ a(
29
- v,
29
+ A,
30
30
  {
31
31
  color: "inherit",
32
32
  edge: "start",
33
33
  onClick: r,
34
34
  "aria-label": "Toggle navigation menu",
35
35
  sx: { mr: 2, display: { sm: "none" } },
36
- children: /* @__PURE__ */ a(be, {})
36
+ children: /* @__PURE__ */ a(ve, {})
37
37
  }
38
38
  ),
39
39
  /* @__PURE__ */ a(
40
- te,
40
+ F,
41
41
  {
42
42
  variant: "h6",
43
43
  noWrap: !0,
44
- component: L,
44
+ component: M,
45
45
  to: "/",
46
46
  sx: {
47
47
  textDecoration: "none",
@@ -55,7 +55,7 @@ function we({ darkMode: e, setDarkMode: t, handleDrawerToggle: r }) {
55
55
  ),
56
56
  /* @__PURE__ */ a(f, { sx: { flexGrow: 1 } }),
57
57
  /* @__PURE__ */ a(
58
- v,
58
+ A,
59
59
  {
60
60
  onClick: () => t(!e),
61
61
  color: "inherit",
@@ -66,7 +66,7 @@ function we({ darkMode: e, setDarkMode: t, handleDrawerToggle: r }) {
66
66
  outline: "none"
67
67
  }
68
68
  },
69
- children: e ? /* @__PURE__ */ a(me, {}) : /* @__PURE__ */ a(ge, {})
69
+ children: e ? /* @__PURE__ */ a(we, {}) : /* @__PURE__ */ a(ke, {})
70
70
  }
71
71
  )
72
72
  ] })
@@ -292,9 +292,9 @@ function we({ darkMode: e, setDarkMode: t, handleDrawerToggle: r }) {
292
292
  s[i[l]] = e.languages.bash[i[l]];
293
293
  e.languages.sh = e.languages.bash, e.languages.shell = e.languages.bash;
294
294
  })(Prism);
295
- var O = {}, R;
296
- function Ae() {
297
- return R || (R = 1, function(e) {
295
+ var C = {}, N;
296
+ function Ie() {
297
+ return N || (N = 1, (function(e) {
298
298
  var t = [
299
299
  // normal string
300
300
  /"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,
@@ -347,9 +347,9 @@ function Ae() {
347
347
  },
348
348
  output: /.(?:.*(?:[\r\n]|.$))*/
349
349
  }, e.languages["sh-session"] = e.languages.shellsession = e.languages["shell-session"];
350
- }(Prism)), O;
350
+ })(Prism)), C;
351
351
  }
352
- Ae();
352
+ Ie();
353
353
  (function(e) {
354
354
  var t = /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source, r = /(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g, function() {
355
355
  return t;
@@ -363,7 +363,7 @@ Ae();
363
363
  lookbehind: !0,
364
364
  greedy: !0
365
365
  };
366
- function p(o, c) {
366
+ function u(o, c) {
367
367
  return o = o.replace(/<OPT>/g, function() {
368
368
  return i;
369
369
  }).replace(/<SP>/g, function() {
@@ -377,7 +377,7 @@ Ae();
377
377
  greedy: !0,
378
378
  inside: {
379
379
  options: {
380
- pattern: p(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source, "i"),
380
+ pattern: u(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source, "i"),
381
381
  lookbehind: !0,
382
382
  greedy: !0,
383
383
  inside: {
@@ -399,19 +399,19 @@ Ae();
399
399
  keyword: [
400
400
  {
401
401
  // https://docs.docker.com/engine/reference/builder/#healthcheck
402
- pattern: p(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source, "i"),
402
+ pattern: u(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source, "i"),
403
403
  lookbehind: !0,
404
404
  greedy: !0
405
405
  },
406
406
  {
407
407
  // https://docs.docker.com/engine/reference/builder/#from
408
- pattern: p(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source, "i"),
408
+ pattern: u(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source, "i"),
409
409
  lookbehind: !0,
410
410
  greedy: !0
411
411
  },
412
412
  {
413
413
  // https://docs.docker.com/engine/reference/builder/#onbuild
414
- pattern: p(/(^ONBUILD<SP>)\w+/.source, "i"),
414
+ pattern: u(/(^ONBUILD<SP>)\w+/.source, "i"),
415
415
  lookbehind: !0,
416
416
  greedy: !0
417
417
  },
@@ -433,12 +433,12 @@ Ae();
433
433
  var t = /[*&][^\s[\]{},]+/, r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, n = "(?:" + r.source + "(?:[ ]+" + t.source + ")?|" + t.source + "(?:[ ]+" + r.source + ")?)", i = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {
434
434
  return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
435
435
  }), s = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
436
- function l(p, o) {
436
+ function l(u, o) {
437
437
  o = (o || "").replace(/m/g, "") + "m";
438
438
  var c = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
439
439
  return n;
440
440
  }).replace(/<<value>>/g, function() {
441
- return p;
441
+ return u;
442
442
  });
443
443
  return RegExp(c, o);
444
444
  }
@@ -711,26 +711,26 @@ Prism.languages.js = Prism.languages.javascript;
711
711
  }, e.languages.jsx.tag);
712
712
  var l = function(o) {
713
713
  return o ? typeof o == "string" ? o : typeof o.content == "string" ? o.content : o.content.map(l).join("") : "";
714
- }, p = function(o) {
715
- for (var c = [], u = 0; u < o.length; u++) {
716
- var d = o[u], b = !1;
714
+ }, u = function(o) {
715
+ for (var c = [], p = 0; p < o.length; p++) {
716
+ var d = o[p], b = !1;
717
717
  if (typeof d != "string" && (d.type === "tag" && d.content[0] && d.content[0].type === "tag" ? d.content[0].content[0].content === "</" ? c.length > 0 && c[c.length - 1].tagName === l(d.content[0].content[1]) && c.pop() : d.content[d.content.length - 1].content === "/>" || c.push({
718
718
  tagName: l(d.content[0].content[1]),
719
719
  openedBraces: 0
720
720
  }) : c.length > 0 && d.type === "punctuation" && d.content === "{" ? c[c.length - 1].openedBraces++ : c.length > 0 && c[c.length - 1].openedBraces > 0 && d.type === "punctuation" && d.content === "}" ? c[c.length - 1].openedBraces-- : b = !0), (b || typeof d == "string") && c.length > 0 && c[c.length - 1].openedBraces === 0) {
721
721
  var g = l(d);
722
- u < o.length - 1 && (typeof o[u + 1] == "string" || o[u + 1].type === "plain-text") && (g += l(o[u + 1]), o.splice(u + 1, 1)), u > 0 && (typeof o[u - 1] == "string" || o[u - 1].type === "plain-text") && (g = l(o[u - 1]) + g, o.splice(u - 1, 1), u--), o[u] = new e.Token("plain-text", g, null, g);
722
+ p < o.length - 1 && (typeof o[p + 1] == "string" || o[p + 1].type === "plain-text") && (g += l(o[p + 1]), o.splice(p + 1, 1)), p > 0 && (typeof o[p - 1] == "string" || o[p - 1].type === "plain-text") && (g = l(o[p - 1]) + g, o.splice(p - 1, 1), p--), o[p] = new e.Token("plain-text", g, null, g);
723
723
  }
724
- d.content && typeof d.content != "string" && p(d.content);
724
+ d.content && typeof d.content != "string" && u(d.content);
725
725
  }
726
726
  };
727
727
  e.hooks.add("after-tokenize", function(o) {
728
- o.language !== "jsx" && o.language !== "tsx" || p(o.tokens);
728
+ o.language !== "jsx" && o.language !== "tsx" || u(o.tokens);
729
729
  });
730
730
  })(Prism);
731
- var C = {}, N;
732
- function ve() {
733
- return N || (N = 1, function(e) {
731
+ var P = {}, L;
732
+ function Oe() {
733
+ return L || (L = 1, (function(e) {
734
734
  e.languages.typescript = e.languages.extend("javascript", {
735
735
  "class-name": {
736
736
  pattern: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,
@@ -774,22 +774,22 @@ function ve() {
774
774
  }
775
775
  }
776
776
  }), e.languages.ts = e.languages.typescript;
777
- }(Prism)), C;
777
+ })(Prism)), P;
778
778
  }
779
- ve();
779
+ Oe();
780
780
  (function(e) {
781
781
  var t = e.util.clone(e.languages.typescript);
782
782
  e.languages.tsx = e.languages.extend("jsx", t), delete e.languages.tsx.parameter, delete e.languages.tsx["literal-property"];
783
783
  var r = e.languages.tsx.tag;
784
784
  r.pattern = RegExp(/(^|[^\w$]|(?=<\/))/.source + "(?:" + r.pattern.source + ")", r.pattern.flags), r.lookbehind = !0;
785
785
  })(Prism);
786
- const Fe = {
786
+ const Re = {
787
787
  sh: "bash",
788
788
  shell: "bash",
789
789
  zsh: "bash",
790
790
  console: "bash"
791
- }, Ee = ({ children: e, className: t = "", ...r }) => {
792
- const [n, i] = F(!1), s = D(), l = t.replace("language-", "") || "jsx", p = Fe[l] ?? l;
791
+ }, Ce = ({ children: e, className: t = "", ...r }) => {
792
+ const [n, i] = E(!1), s = B(), l = t.replace("language-", "") || "jsx", u = Re[l] ?? l;
793
793
  let o = "";
794
794
  typeof e == "string" ? o = e.trim() : e && typeof e == "object" && e.props && (typeof e.props.children == "string" ? o = e.props.children.trim() : Array.isArray(e.props.children) && (o = e.props.children.join("").trim()));
795
795
  const c = {
@@ -850,7 +850,7 @@ const Fe = {
850
850
  };
851
851
  return /* @__PURE__ */ m(f, { sx: { position: "relative", my: 2 }, children: [
852
852
  /* @__PURE__ */ a(f, { sx: { position: "absolute", top: 4, right: 4, zIndex: 1 }, children: /* @__PURE__ */ a(re, { title: n ? "Copied!" : "Copy", children: /* @__PURE__ */ a(
853
- v,
853
+ A,
854
854
  {
855
855
  size: "small",
856
856
  onClick: async () => {
@@ -862,10 +862,10 @@ const Fe = {
862
862
  color: "inherit",
863
863
  "aria-label": n ? "Code copied to clipboard" : "Copy code to clipboard",
864
864
  sx: { width: 24, height: 24 },
865
- children: n ? /* @__PURE__ */ a(ye, { sx: { fontSize: 16 } }) : /* @__PURE__ */ a(Se, { sx: { fontSize: 16 } })
865
+ children: n ? /* @__PURE__ */ a(Fe, { sx: { fontSize: 16 } }) : /* @__PURE__ */ a(Ee, { sx: { fontSize: 16 } })
866
866
  }
867
867
  ) }) }),
868
- /* @__PURE__ */ a(M, { prism: xe, code: o, language: p, theme: c, children: ({ className: d, style: b, tokens: g, getLineProps: k, getTokenProps: w }) => /* @__PURE__ */ m(
868
+ /* @__PURE__ */ a(j, { prism: Te, code: o, language: u, theme: c, children: ({ className: d, style: b, tokens: g, getLineProps: k, getTokenProps: w }) => /* @__PURE__ */ m(
869
869
  f,
870
870
  {
871
871
  sx: {
@@ -892,7 +892,7 @@ const Fe = {
892
892
  textTransform: "uppercase",
893
893
  letterSpacing: 0.5
894
894
  },
895
- children: p
895
+ children: u
896
896
  }
897
897
  ),
898
898
  /* @__PURE__ */ a(
@@ -911,11 +911,11 @@ const Fe = {
911
911
  },
912
912
  ...r,
913
913
  children: g.map((h, S) => {
914
- const T = k({ line: h, key: S }), { key: A, ...H } = T;
915
- return /* @__PURE__ */ a("div", { ...H, children: h.map((G, _) => {
916
- const z = w({ token: G, key: _ }), { key: ze, ...W } = z;
917
- return /* @__PURE__ */ a("span", { ...W }, `${S}-${_}`);
918
- }) }, A);
914
+ const _ = k({ line: h, key: S }), { key: v, ...z } = _;
915
+ return /* @__PURE__ */ a("div", { ...z, children: h.map((W, $) => {
916
+ const U = w({ token: W, key: $ }), { key: Ye, ...X } = U;
917
+ return /* @__PURE__ */ a("span", { ...X }, `${S}-${$}`);
918
+ }) }, v);
919
919
  })
920
920
  }
921
921
  )
@@ -923,8 +923,8 @@ const Fe = {
923
923
  }
924
924
  ) })
925
925
  ] });
926
- }, Te = ({ children: e, ...t }) => {
927
- const r = D(), n = typeof e == "string" ? e.trim() : "", i = {
926
+ }, Ne = ({ children: e, ...t }) => {
927
+ const r = B(), n = typeof e == "string" ? e.trim() : "", i = {
928
928
  plain: {
929
929
  color: r.palette.text.primary,
930
930
  backgroundColor: r.palette.mode === "dark" ? "rgba(255,255,255,0.08)" : "rgba(0,0,0,0.08)"
@@ -980,7 +980,7 @@ const Fe = {
980
980
  }
981
981
  ]
982
982
  };
983
- return /* @__PURE__ */ a(M, { code: n, language: "jsx", theme: i, children: ({ className: s, style: l, tokens: p, getLineProps: o, getTokenProps: c }) => /* @__PURE__ */ a(
983
+ return /* @__PURE__ */ a(j, { code: n, language: "jsx", theme: i, children: ({ className: s, style: l, tokens: u, getLineProps: o, getTokenProps: c }) => /* @__PURE__ */ a(
984
984
  "code",
985
985
  {
986
986
  className: s,
@@ -996,17 +996,37 @@ const Fe = {
996
996
  maxWidth: "100%"
997
997
  },
998
998
  ...t,
999
- children: p.map((u, d) => {
1000
- const b = o({ line: u, key: d }), { key: g, ...k } = b;
1001
- return /* @__PURE__ */ a("div", { ...k, children: u.map((w, h) => {
1002
- const S = c({ token: w, key: h }), { key: T, ...A } = S;
1003
- return /* @__PURE__ */ a("span", { ...A }, `${d}-${h}`);
999
+ children: u.map((p, d) => {
1000
+ const b = o({ line: p, key: d }), { key: g, ...k } = b;
1001
+ return /* @__PURE__ */ a("div", { ...k, children: p.map((w, h) => {
1002
+ const S = c({ token: w, key: h }), { key: _, ...v } = S;
1003
+ return /* @__PURE__ */ a("span", { ...v }, `${d}-${h}`);
1004
1004
  }) }, g);
1005
1005
  })
1006
1006
  }
1007
1007
  ) });
1008
- }, _e = (e) => e.filter((t) => !t.isDefault), $e = (e) => e.find((t) => t.isDefault), Ie = (e) => e ? !!(e.startsWith("http://") || e.startsWith("https://") || e.startsWith("mailto:") || e.startsWith("tel:")) : !1, Oe = () => {
1009
- const { pages: e } = E();
1008
+ }, Pe = () => /* @__PURE__ */ m(
1009
+ f,
1010
+ {
1011
+ sx: {
1012
+ display: "flex",
1013
+ flexDirection: "column",
1014
+ alignItems: "center",
1015
+ justifyContent: "center",
1016
+ minHeight: "60vh",
1017
+ textAlign: "center",
1018
+ gap: 2
1019
+ },
1020
+ children: [
1021
+ /* @__PURE__ */ a(F, { variant: "h1", sx: { fontSize: "6rem", fontWeight: 700, lineHeight: 1 }, children: "404" }),
1022
+ /* @__PURE__ */ a(F, { variant: "h5", color: "text.secondary", children: "Page not found" }),
1023
+ /* @__PURE__ */ a(ae, { href: "/", underline: "hover", children: "Go home" })
1024
+ ]
1025
+ }
1026
+ ), Le = (e, t = !1) => e.filter(
1027
+ (r) => !r.isHidden && (t ? r.route !== "/" : !0)
1028
+ ), De = (e) => e ? !!(e.startsWith("http://") || e.startsWith("https://") || e.startsWith("mailto:") || e.startsWith("tel:")) : !1, Be = () => {
1029
+ const { pages: e } = T();
1010
1030
  return /* @__PURE__ */ a(
1011
1031
  f,
1012
1032
  {
@@ -1057,13 +1077,13 @@ const Fe = {
1057
1077
  }
1058
1078
  },
1059
1079
  children: /* @__PURE__ */ a(
1060
- he,
1080
+ Ae,
1061
1081
  {
1062
1082
  components: {
1063
1083
  // pre: CodeBlock,
1064
- code: (t) => t.className ? /* @__PURE__ */ a(Ee, { ...t }) : /* @__PURE__ */ a(Te, { ...t }),
1084
+ code: (t) => t.className ? /* @__PURE__ */ a(Ce, { ...t }) : /* @__PURE__ */ a(Ne, { ...t }),
1065
1085
  a: (t) => {
1066
- const r = Ie(t.href);
1086
+ const r = De(t.href);
1067
1087
  return /* @__PURE__ */ a(
1068
1088
  "a",
1069
1089
  {
@@ -1092,12 +1112,18 @@ const Fe = {
1092
1112
  ...t
1093
1113
  }
1094
1114
  ),
1115
+ table: (t) => /* @__PURE__ */ a(le, { component: ce, variant: "outlined", sx: { my: 2 }, children: /* @__PURE__ */ a(de, { size: "small", ...t }) }),
1116
+ thead: se,
1117
+ tbody: oe,
1118
+ tr: ne,
1119
+ th: (t) => /* @__PURE__ */ a(I, { component: "th", ...t }),
1120
+ td: I,
1095
1121
  p: (t) => t.children && (Array.isArray(t.children) ? t.children.some(
1096
1122
  (n) => typeof n == "object" && n.type
1097
- ) : typeof t.children == "object" && t.children.type) ? /* @__PURE__ */ a(U, { children: t.children }) : /* @__PURE__ */ a("p", { ...t })
1123
+ ) : typeof t.children == "object" && t.children.type) ? /* @__PURE__ */ a(Z, { children: t.children }) : /* @__PURE__ */ a("p", { ...t })
1098
1124
  },
1099
1125
  children: /* @__PURE__ */ a(
1100
- q,
1126
+ Y,
1101
1127
  {
1102
1128
  fallback: /* @__PURE__ */ a(
1103
1129
  f,
@@ -1108,14 +1134,14 @@ const Fe = {
1108
1134
  alignItems: "center",
1109
1135
  minHeight: "200px"
1110
1136
  },
1111
- children: /* @__PURE__ */ a(ae, {})
1137
+ children: /* @__PURE__ */ a(ie, {})
1112
1138
  }
1113
1139
  ),
1114
- children: /* @__PURE__ */ m(pe, { children: [
1140
+ children: /* @__PURE__ */ m(ye, { children: [
1115
1141
  e.map((t) => {
1116
1142
  const r = t.component;
1117
1143
  return /* @__PURE__ */ a(
1118
- I,
1144
+ R,
1119
1145
  {
1120
1146
  path: t.route,
1121
1147
  element: /* @__PURE__ */ a(r, {})
@@ -1123,13 +1149,7 @@ const Fe = {
1123
1149
  t.route
1124
1150
  );
1125
1151
  }),
1126
- /* @__PURE__ */ a(
1127
- I,
1128
- {
1129
- path: "*",
1130
- element: X.createElement($e(e).component)
1131
- }
1132
- )
1152
+ /* @__PURE__ */ a(R, { path: "*", element: /* @__PURE__ */ a(Pe, {}) })
1133
1153
  ] })
1134
1154
  }
1135
1155
  )
@@ -1137,32 +1157,32 @@ const Fe = {
1137
1157
  )
1138
1158
  }
1139
1159
  );
1140
- }, y = 240, Re = ({ mobileOpen: e, handleDrawerToggle: t }) => {
1141
- const r = B(), { pages: n } = E(), i = _e(n);
1160
+ }, y = 240, Me = ({ mobileOpen: e, handleDrawerToggle: t }) => {
1161
+ const r = H(), { pages: n, hideHomeFromNav: i } = T(), s = Le(n, i);
1142
1162
  x(() => {
1143
- const p = setTimeout(() => {
1163
+ const o = setTimeout(() => {
1144
1164
  document.body.style.overflow = "";
1145
1165
  }, 100);
1146
- return () => clearTimeout(p);
1166
+ return () => clearTimeout(o);
1147
1167
  }, [r.pathname]);
1148
- const s = () => {
1168
+ const l = () => {
1149
1169
  t();
1150
- }, l = /* @__PURE__ */ m("div", { children: [
1151
- /* @__PURE__ */ a(P, {}),
1152
- /* @__PURE__ */ a(ne, { children: i.map((p) => /* @__PURE__ */ a(oe, { disablePadding: !0, children: /* @__PURE__ */ a(
1153
- se,
1170
+ }, u = /* @__PURE__ */ m("div", { children: [
1171
+ /* @__PURE__ */ a(D, {}),
1172
+ /* @__PURE__ */ a(pe, { children: s.map((o) => /* @__PURE__ */ a(ue, { disablePadding: !0, children: /* @__PURE__ */ a(
1173
+ fe,
1154
1174
  {
1155
- component: L,
1156
- to: p.route,
1157
- onClick: () => s(),
1175
+ component: M,
1176
+ to: o.route,
1177
+ onClick: () => l(),
1158
1178
  sx: {
1159
1179
  "&:hover": {
1160
1180
  color: "inherit"
1161
1181
  }
1162
1182
  },
1163
- children: /* @__PURE__ */ a(ie, { primary: p.name })
1183
+ children: /* @__PURE__ */ a(ge, { primary: o.name })
1164
1184
  }
1165
- ) }, p.route)) })
1185
+ ) }, o.route)) })
1166
1186
  ] });
1167
1187
  return /* @__PURE__ */ m(
1168
1188
  f,
@@ -1172,7 +1192,7 @@ const Fe = {
1172
1192
  "aria-label": "sidebar navigation",
1173
1193
  children: [
1174
1194
  /* @__PURE__ */ a(
1175
- $,
1195
+ O,
1176
1196
  {
1177
1197
  variant: "temporary",
1178
1198
  open: e,
@@ -1189,11 +1209,11 @@ const Fe = {
1189
1209
  maxWidth: y
1190
1210
  }
1191
1211
  },
1192
- children: l
1212
+ children: u
1193
1213
  }
1194
1214
  ),
1195
1215
  /* @__PURE__ */ a(
1196
- $,
1216
+ O,
1197
1217
  {
1198
1218
  variant: "permanent",
1199
1219
  sx: {
@@ -1204,21 +1224,21 @@ const Fe = {
1204
1224
  }
1205
1225
  },
1206
1226
  open: !0,
1207
- children: l
1227
+ children: u
1208
1228
  }
1209
1229
  )
1210
1230
  ]
1211
1231
  }
1212
1232
  );
1213
- }, Ce = () => typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)").matches : !0, Ne = () => {
1233
+ }, He = () => typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)").matches : !0, je = () => {
1214
1234
  if (typeof window < "u") {
1215
1235
  const e = localStorage.getItem("darkMode");
1216
1236
  if (e !== null)
1217
1237
  return JSON.parse(e);
1218
1238
  }
1219
- return Ce();
1220
- }, Pe = () => {
1221
- const [e, t] = F(Ne);
1239
+ return He();
1240
+ }, Ge = () => {
1241
+ const [e, t] = E(je);
1222
1242
  return x(() => {
1223
1243
  typeof window < "u" && localStorage.setItem("darkMode", JSON.stringify(e));
1224
1244
  }, [e]), x(() => {
@@ -1229,7 +1249,7 @@ const Fe = {
1229
1249
  return r.addEventListener("change", n), () => r.removeEventListener("change", n);
1230
1250
  }
1231
1251
  }, []), { darkMode: e, setDarkMode: t };
1232
- }, De = {
1252
+ }, ze = {
1233
1253
  palette: {
1234
1254
  primary: {
1235
1255
  main: "#90caf9",
@@ -1314,7 +1334,7 @@ const Fe = {
1314
1334
  activatedOpacity: 0.24
1315
1335
  }
1316
1336
  }
1317
- }, Le = {
1337
+ }, We = {
1318
1338
  palette: {
1319
1339
  primary: {
1320
1340
  main: "#1976d2",
@@ -1398,7 +1418,7 @@ const Fe = {
1398
1418
  activatedOpacity: 0.12
1399
1419
  }
1400
1420
  }
1401
- }, Be = {
1421
+ }, Ue = {
1402
1422
  components: {
1403
1423
  MuiIconButton: {
1404
1424
  styleOverrides: {
@@ -1423,16 +1443,16 @@ const Fe = {
1423
1443
  }
1424
1444
  }
1425
1445
  }
1426
- }, Me = (e = "light", t = {}) => {
1427
- const r = e === "dark" ? De : Le, n = t[e], i = {};
1446
+ }, Xe = (e = "light", t = {}) => {
1447
+ const r = e === "dark" ? ze : We, n = t[e], i = {};
1428
1448
  t.primaryColor && (i.palette = { primary: { main: t.primaryColor } }), t.fontFamily && (i.typography = { fontFamily: t.fontFamily });
1429
1449
  const s = [
1430
1450
  { ...r, palette: { ...r.palette, mode: e } },
1431
1451
  i
1432
1452
  ];
1433
- return n && s.push(n), s.push(Be), le(...s);
1434
- }, je = ({ children: e }) => {
1435
- const t = B(), r = fe();
1453
+ return n && s.push(n), s.push(Ue), me(...s);
1454
+ }, Ze = ({ children: e }) => {
1455
+ const t = H(), r = xe();
1436
1456
  return x(() => {
1437
1457
  const n = new URLSearchParams(window.location.search), i = n.get("redirect");
1438
1458
  if (i) {
@@ -1440,22 +1460,22 @@ const Fe = {
1440
1460
  const s = window.location.pathname + (n.toString() ? "?" + n.toString() : "");
1441
1461
  window.history.replaceState({}, "", s), r(i);
1442
1462
  }
1443
- }, [r]), Y(() => {
1463
+ }, [r]), V(() => {
1444
1464
  window.scrollTo({ top: 0, left: 0, behavior: "instant" });
1445
1465
  }, [t.pathname]), e;
1446
1466
  };
1447
- function He({ userTheme: e = {} }) {
1448
- const { darkMode: t, setDarkMode: r } = Pe(), [n, i] = F(!1), s = V(
1449
- () => Me(t ? "dark" : "light", e),
1467
+ function Ke({ userTheme: e = {} }) {
1468
+ const { darkMode: t, setDarkMode: r } = Ge(), [n, i] = E(!1), s = J(
1469
+ () => Xe(t ? "dark" : "light", e),
1450
1470
  [t, e]
1451
1471
  ), l = () => {
1452
1472
  i(!n);
1453
1473
  };
1454
- return /* @__PURE__ */ m(ce, { theme: s, children: [
1455
- /* @__PURE__ */ a(de, {}),
1474
+ return /* @__PURE__ */ m(be, { theme: s, children: [
1475
+ /* @__PURE__ */ a(he, {}),
1456
1476
  /* @__PURE__ */ m(f, { sx: { display: "flex" }, children: [
1457
1477
  /* @__PURE__ */ a(
1458
- we,
1478
+ $e,
1459
1479
  {
1460
1480
  darkMode: t,
1461
1481
  setDarkMode: r,
@@ -1463,7 +1483,7 @@ function He({ userTheme: e = {} }) {
1463
1483
  }
1464
1484
  ),
1465
1485
  /* @__PURE__ */ a(
1466
- Re,
1486
+ Me,
1467
1487
  {
1468
1488
  mobileOpen: n,
1469
1489
  handleDrawerToggle: l
@@ -1483,21 +1503,30 @@ function He({ userTheme: e = {} }) {
1483
1503
  // Prevent horizontal overflow on very small screens
1484
1504
  overflowX: "hidden"
1485
1505
  },
1486
- children: /* @__PURE__ */ a(Oe, {})
1506
+ children: /* @__PURE__ */ a(Be, {})
1487
1507
  }
1488
1508
  )
1489
1509
  ] })
1490
1510
  ] });
1491
1511
  }
1492
- function Ge({ pages: e, site: t, theme: r = {} }) {
1493
- return /* @__PURE__ */ a(ke, { pages: e, site: t, children: /* @__PURE__ */ a(ue, { basename: "/", children: /* @__PURE__ */ a(je, { children: /* @__PURE__ */ a(He, { userTheme: r }) }) }) });
1512
+ function qe({ pages: e, site: t, theme: r = {}, hideHomeFromNav: n = !1 }) {
1513
+ return /* @__PURE__ */ a(_e, { pages: e, site: t, hideHomeFromNav: n, children: /* @__PURE__ */ a(Se, { basename: "/", children: /* @__PURE__ */ a(Ze, { children: /* @__PURE__ */ a(Ke, { userTheme: r }) }) }) });
1494
1514
  }
1495
- function at({ pages: e, site: t, theme: r }) {
1496
- Q(document.getElementById("root")).render(
1497
- /* @__PURE__ */ a(J, { children: /* @__PURE__ */ a(Ge, { pages: e, site: t, theme: r }) })
1515
+ function dt({ pages: e, site: t, theme: r, hideHomeFromNav: n }) {
1516
+ const i = e.filter((s) => s.route === "/");
1517
+ if (i.length === 0)
1518
+ throw new Error(
1519
+ '[mdx-docs] No page with route "/" found. A home page at route "/" is required.'
1520
+ );
1521
+ if (i.length > 1)
1522
+ throw new Error(
1523
+ '[mdx-docs] Multiple pages with route "/" found. Only one home page is allowed.'
1524
+ );
1525
+ ee(document.getElementById("root")).render(
1526
+ /* @__PURE__ */ a(Q, { children: /* @__PURE__ */ a(qe, { pages: e, site: t, theme: r, hideHomeFromNav: n }) })
1498
1527
  );
1499
1528
  }
1500
- const nt = {
1529
+ const pt = {
1501
1530
  default: {},
1502
1531
  ocean: {
1503
1532
  primaryColor: "#0077b6",
@@ -1543,6 +1572,9 @@ const nt = {
1543
1572
  }
1544
1573
  };
1545
1574
  export {
1546
- at as createApp,
1547
- nt as themes
1575
+ _e as DocsProvider,
1576
+ Be as MDXContent,
1577
+ Pe as NotFound,
1578
+ dt as createApp,
1579
+ pt as themes
1548
1580
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quietmind/mdx-docs",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "type": "module",
5
5
  "homepage": "https://mdxdocs.com",
6
6
  "exports": {
@@ -28,6 +28,9 @@
28
28
  "test:coverage:average": "yarn test:coverage && node scripts/coverage-average.js",
29
29
  "test:ui": "vitest --ui"
30
30
  },
31
+ "dependencies": {
32
+ "remark-gfm": "^4.0.1"
33
+ },
31
34
  "peerDependencies": {
32
35
  "@emotion/react": "^11.14.0",
33
36
  "@emotion/styled": "^11.14.0",
@@ -41,7 +44,6 @@
41
44
  "react": "^19.1.0",
42
45
  "react-dom": "^19.1.0",
43
46
  "react-router-dom": "^7.6.2",
44
- "remark-gfm": "^4.0.1",
45
47
  "vite": "^6.4.1"
46
48
  },
47
49
  "devDependencies": {