zudoku 0.3.0-dev.66 → 0.3.0-dev.68
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/lib/components/context/ViewportAnchorContext.js +2 -1
- package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
- package/dist/lib/plugins/markdown/Toc.js +2 -1
- package/dist/lib/plugins/markdown/Toc.js.map +1 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js +2 -2
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
- package/dist/lib/plugins/openapi/StaggeredRender.js +3 -2
- package/dist/lib/plugins/openapi/StaggeredRender.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +4 -3
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/createUrl.js +5 -9
- package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -1
- package/dist/lib/util/requestIdle.d.ts +2 -0
- package/dist/lib/util/requestIdle.js +3 -0
- package/dist/lib/util/requestIdle.js.map +1 -0
- package/dist/lib/util/useScrollToAnchor.js +3 -2
- package/dist/lib/util/useScrollToAnchor.js.map +1 -1
- package/lib/{AnchorLink-C_pYhuZi.js → AnchorLink-61IZfWrS.js} +2 -2
- package/lib/{AnchorLink-C_pYhuZi.js.map → AnchorLink-61IZfWrS.js.map} +1 -1
- package/lib/{CategoryHeading-D5Q-X6lE.js → CategoryHeading-aW8CL0KA.js} +2 -2
- package/lib/{CategoryHeading-D5Q-X6lE.js.map → CategoryHeading-aW8CL0KA.js.map} +1 -1
- package/lib/{Combination-Cq0UkOXq.js → Combination-BbWKjDLe.js} +2 -2
- package/lib/{Combination-Cq0UkOXq.js.map → Combination-BbWKjDLe.js.map} +1 -1
- package/lib/{Input-DdAxw3vC.js → Input-BY0B_0qy.js} +3 -3
- package/lib/{Input-DdAxw3vC.js.map → Input-BY0B_0qy.js.map} +1 -1
- package/lib/{Markdown-DsCvZnhw.js → Markdown-BO5EsS-C.js} +748 -746
- package/lib/Markdown-BO5EsS-C.js.map +1 -0
- package/lib/{MdxPage-B_7x36CA.js → MdxPage-DEfyHwSx.js} +28 -28
- package/lib/MdxPage-DEfyHwSx.js.map +1 -0
- package/lib/{OperationList-Cv0GStt7.js → OperationList-VK1_1rzp.js} +167 -162
- package/lib/OperationList-VK1_1rzp.js.map +1 -0
- package/lib/{Spinner-DyDcSKPz.js → Spinner-6NfpF1CA.js} +56 -56
- package/lib/Spinner-6NfpF1CA.js.map +1 -0
- package/lib/{hook-Cz5jddRs.js → hook-gOGk1OUF.js} +4 -4
- package/lib/{hook-Cz5jddRs.js.map → hook-gOGk1OUF.js.map} +1 -1
- package/lib/{index-NGns0N9q.js → index-7W7DUZbY.js} +4 -4
- package/lib/{index-NGns0N9q.js.map → index-7W7DUZbY.js.map} +1 -1
- package/lib/zudoku.components.js +351 -351
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +4 -4
- package/lib/zudoku.plugin-custom-page.js +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +2 -2
- package/package.json +1 -1
- package/src/lib/components/context/ViewportAnchorContext.tsx +2 -1
- package/src/lib/plugins/markdown/Toc.tsx +2 -1
- package/src/lib/plugins/openapi/ColorizedParam.tsx +2 -2
- package/src/lib/plugins/openapi/StaggeredRender.tsx +3 -2
- package/src/lib/plugins/openapi/playground/PathParams.tsx +1 -1
- package/src/lib/plugins/openapi/playground/Playground.tsx +10 -7
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +1 -3
- package/src/lib/plugins/openapi/playground/createUrl.ts +11 -14
- package/src/lib/util/requestIdle.ts +4 -0
- package/src/lib/util/useScrollToAnchor.ts +3 -2
- package/lib/Markdown-DsCvZnhw.js.map +0 -1
- package/lib/MdxPage-B_7x36CA.js.map +0 -1
- package/lib/OperationList-Cv0GStt7.js.map +0 -1
- package/lib/Spinner-DyDcSKPz.js.map +0 -1
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { j as e, a as E } from "./jsx-runtime-BIr0WBt_.js";
|
|
2
|
-
import { A as _, a as $, u as q } from "./AnchorLink-
|
|
2
|
+
import { A as _, a as $, u as q } from "./AnchorLink-61IZfWrS.js";
|
|
3
3
|
import { useRef as T, useState as z, useEffect as B, useMemo as D } from "react";
|
|
4
|
-
import { c as F, e as V, a as g, P as
|
|
5
|
-
import { C as
|
|
6
|
-
import { v as
|
|
7
|
-
import { s as
|
|
4
|
+
import { c as F, e as V, r as W, a as g, P as X, H as v, L as A } from "./Markdown-BO5EsS-C.js";
|
|
5
|
+
import { C as G } from "./CategoryHeading-aW8CL0KA.js";
|
|
6
|
+
import { v as J, z as M, l as P } from "./DevPortalProvider-BBhQ8kgI.js";
|
|
7
|
+
import { s as K } from "./slugify-CiPVjteN.js";
|
|
8
8
|
/**
|
|
9
9
|
* @license lucide-react v0.378.0 - ISC
|
|
10
10
|
*
|
|
11
11
|
* This source code is licensed under the ISC license.
|
|
12
12
|
* See the LICENSE file in the root directory of this source tree.
|
|
13
13
|
*/
|
|
14
|
-
const
|
|
14
|
+
const Q = F("ListTree", [
|
|
15
15
|
["path", { d: "M21 12h-8", key: "1bmf0i" }],
|
|
16
16
|
["path", { d: "M21 6H8", key: "1pqkrb" }],
|
|
17
17
|
["path", { d: "M21 18h-8", key: "1tm79t" }],
|
|
18
18
|
["path", { d: "M3 6v4c0 1.1.9 2 2 2h3", key: "1ywdgy" }],
|
|
19
19
|
["path", { d: "M3 10v6c0 1.1.9 2 2 2h3", key: "2wc746" }]
|
|
20
|
-
]),
|
|
20
|
+
]), I = "data-active", H = ({
|
|
21
21
|
item: r,
|
|
22
22
|
children: t,
|
|
23
23
|
className: s,
|
|
@@ -36,7 +36,7 @@ const K = F("ListTree", [
|
|
|
36
36
|
_,
|
|
37
37
|
{
|
|
38
38
|
to: `#${r.id}`,
|
|
39
|
-
[
|
|
39
|
+
[I]: r.id,
|
|
40
40
|
className: g(
|
|
41
41
|
a ? "text-primary" : "text-foreground/65 dark:text-foreground/75 hover:text-foreground"
|
|
42
42
|
),
|
|
@@ -46,7 +46,7 @@ const K = F("ListTree", [
|
|
|
46
46
|
t
|
|
47
47
|
]
|
|
48
48
|
}
|
|
49
|
-
),
|
|
49
|
+
), U = ({ entries: r }) => {
|
|
50
50
|
const { activeAnchor: t } = V(), s = T(null), a = T(!1), [c, d] = z({
|
|
51
51
|
top: 0,
|
|
52
52
|
opacity: 0
|
|
@@ -54,7 +54,7 @@ const K = F("ListTree", [
|
|
|
54
54
|
return B(() => {
|
|
55
55
|
if (!s.current) return;
|
|
56
56
|
const i = s.current.querySelector(
|
|
57
|
-
`[${
|
|
57
|
+
`[${I}='${t}']`
|
|
58
58
|
);
|
|
59
59
|
if (!i) {
|
|
60
60
|
d({ top: 0, opacity: 0 });
|
|
@@ -64,12 +64,12 @@ const K = F("ListTree", [
|
|
|
64
64
|
d({
|
|
65
65
|
opacity: 1,
|
|
66
66
|
top: `${u - n}px`
|
|
67
|
-
}), !a.current &&
|
|
67
|
+
}), !a.current && W(() => {
|
|
68
68
|
a.current = !0;
|
|
69
69
|
});
|
|
70
70
|
}, [t]), /* @__PURE__ */ e.jsxs("aside", { className: "sticky top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm", children: [
|
|
71
71
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2 font-medium mb-2", children: [
|
|
72
|
-
/* @__PURE__ */ e.jsx(
|
|
72
|
+
/* @__PURE__ */ e.jsx(Q, { size: 16 }),
|
|
73
73
|
"On this page"
|
|
74
74
|
] }),
|
|
75
75
|
/* @__PURE__ */ e.jsxs("div", { className: "relative ms-2 ps-4", children: [
|
|
@@ -90,13 +90,13 @@ const K = F("ListTree", [
|
|
|
90
90
|
ref: s,
|
|
91
91
|
className: "relative font-medium list-none space-y-2",
|
|
92
92
|
children: r.map((i) => /* @__PURE__ */ e.jsx(
|
|
93
|
-
|
|
93
|
+
H,
|
|
94
94
|
{
|
|
95
95
|
isActive: i.id === t,
|
|
96
96
|
item: i,
|
|
97
97
|
className: "pl-0",
|
|
98
98
|
children: i.children && /* @__PURE__ */ e.jsx("ul", { className: "list-none pl-4 pt-2 space-y-2", children: i.children.map((n) => /* @__PURE__ */ e.jsx(
|
|
99
|
-
|
|
99
|
+
H,
|
|
100
100
|
{
|
|
101
101
|
item: n,
|
|
102
102
|
isActive: n.id === t
|
|
@@ -110,25 +110,25 @@ const K = F("ListTree", [
|
|
|
110
110
|
)
|
|
111
111
|
] })
|
|
112
112
|
] });
|
|
113
|
-
},
|
|
113
|
+
}, Y = {
|
|
114
114
|
h2: ({ children: r, id: t }) => /* @__PURE__ */ e.jsx(v, { level: 2, id: t, registerSidebarAnchor: !0, children: r }),
|
|
115
115
|
h3: ({ children: r, id: t }) => /* @__PURE__ */ e.jsxs(v, { level: 3, id: t, registerSidebarAnchor: !0, children: [
|
|
116
116
|
" ",
|
|
117
117
|
r
|
|
118
118
|
] })
|
|
119
|
-
},
|
|
119
|
+
}, ie = ({
|
|
120
120
|
mdxComponent: r,
|
|
121
121
|
frontmatter: t = {},
|
|
122
122
|
defaultOptions: s,
|
|
123
123
|
tableOfContents: a
|
|
124
124
|
}) => {
|
|
125
125
|
var j, y;
|
|
126
|
-
const c =
|
|
126
|
+
const c = J(), d = E(), i = c ? M(c, (l, x, m) => {
|
|
127
127
|
var o;
|
|
128
128
|
if (x === d.pathname)
|
|
129
129
|
return (o = m.at(0)) == null ? void 0 : o.label;
|
|
130
|
-
}) : void 0, n = t.title, u = t.category ?? i,
|
|
131
|
-
a.filter((l) => l.depth === 2),
|
|
130
|
+
}) : void 0, n = t.title, u = t.category ?? i, L = t.toc === !1 || (s == null ? void 0 : s.toc) === !1, R = ((j = a.find((l) => l.depth === 1)) == null ? void 0 : j.value) ?? n, S = t.disablePager ?? (s == null ? void 0 : s.disablePager) ?? !1, f = ((y = a.find((l) => l.depth === 1)) == null ? void 0 : y.children) ?? // if `title` is provided by frontmatter it does not appear in the table of contents
|
|
131
|
+
a.filter((l) => l.depth === 2), C = !L && f.length > 0, { prev: p, next: h } = D(() => {
|
|
132
132
|
let l = { path: "", label: "" }, x = { path: "", label: "" }, m = !1;
|
|
133
133
|
return c ? (M(c, (o, b) => {
|
|
134
134
|
var w, k;
|
|
@@ -139,27 +139,27 @@ const K = F("ListTree", [
|
|
|
139
139
|
}), { prev: l, next: x }) : { prev: l, next: x };
|
|
140
140
|
}, [c, d.pathname]);
|
|
141
141
|
return /* @__PURE__ */ e.jsxs("div", { className: "xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between", children: [
|
|
142
|
-
/* @__PURE__ */ e.jsx($, { children: /* @__PURE__ */ e.jsx("title", { children:
|
|
142
|
+
/* @__PURE__ */ e.jsx($, { children: /* @__PURE__ */ e.jsx("title", { children: R }) }),
|
|
143
143
|
/* @__PURE__ */ e.jsxs(
|
|
144
144
|
"div",
|
|
145
145
|
{
|
|
146
146
|
className: g(
|
|
147
|
-
|
|
147
|
+
X,
|
|
148
148
|
"max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]"
|
|
149
149
|
),
|
|
150
150
|
children: [
|
|
151
151
|
/* @__PURE__ */ e.jsxs("header", { children: [
|
|
152
|
-
u && /* @__PURE__ */ e.jsx(
|
|
153
|
-
n && /* @__PURE__ */ e.jsx(v, { level: 1, id:
|
|
152
|
+
u && /* @__PURE__ */ e.jsx(G, { children: u }),
|
|
153
|
+
n && /* @__PURE__ */ e.jsx(v, { level: 1, id: K(n, { lower: !0 }), children: n }),
|
|
154
154
|
t.description && /* @__PURE__ */ e.jsx("p", { className: "prose-lg", children: t.description })
|
|
155
155
|
] }),
|
|
156
156
|
/* @__PURE__ */ e.jsx(
|
|
157
157
|
r,
|
|
158
158
|
{
|
|
159
|
-
components: { ...q(), ...
|
|
159
|
+
components: { ...q(), ...Y }
|
|
160
160
|
}
|
|
161
161
|
),
|
|
162
|
-
!
|
|
162
|
+
!S && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
163
163
|
/* @__PURE__ */ e.jsx("hr", {}),
|
|
164
164
|
/* @__PURE__ */ e.jsxs("div", { className: "not-prose flex items-center justify-between gap-8", children: [
|
|
165
165
|
p.path ? /* @__PURE__ */ e.jsxs(
|
|
@@ -191,10 +191,10 @@ const K = F("ListTree", [
|
|
|
191
191
|
]
|
|
192
192
|
}
|
|
193
193
|
),
|
|
194
|
-
/* @__PURE__ */ e.jsx("div", { className: "hidden xl:block", children:
|
|
194
|
+
/* @__PURE__ */ e.jsx("div", { className: "hidden xl:block", children: C && /* @__PURE__ */ e.jsx(U, { entries: f }) })
|
|
195
195
|
] });
|
|
196
196
|
};
|
|
197
197
|
export {
|
|
198
|
-
|
|
198
|
+
ie as MdxPage
|
|
199
199
|
};
|
|
200
|
-
//# sourceMappingURL=MdxPage-
|
|
200
|
+
//# sourceMappingURL=MdxPage-DEfyHwSx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdxPage-DEfyHwSx.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/list-tree.js","../src/lib/plugins/markdown/Toc.tsx","../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListTree = createLucideIcon(\"ListTree\", [\n [\"path\", { d: \"M21 12h-8\", key: \"1bmf0i\" }],\n [\"path\", { d: \"M21 6H8\", key: \"1pqkrb\" }],\n [\"path\", { d: \"M21 18h-8\", key: \"1tm79t\" }],\n [\"path\", { d: \"M3 6v4c0 1.1.9 2 2 2h3\", key: \"1ywdgy\" }],\n [\"path\", { d: \"M3 10v6c0 1.1.9 2 2 2h3\", key: \"2wc746\" }]\n]);\n\nexport { ListTree as default };\n//# sourceMappingURL=list-tree.js.map\n","import type { TocEntry } from \"@stefanprobst/rehype-extract-toc\";\nimport { ListTreeIcon } from \"lucide-react\";\nimport {\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type PropsWithChildren,\n} from \"react\";\nimport { AnchorLink } from \"../../components/AnchorLink.js\";\nimport { useViewportAnchor } from \"../../components/context/ViewportAnchorContext.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { requestIdle } from \"../../util/requestIdle.js\";\n\nconst DATA_ANCHOR_ATTR = \"data-active\";\n\nconst TocItem = ({\n item,\n children,\n className,\n isActive,\n}: PropsWithChildren<{\n item: TocEntry;\n isActive: boolean;\n className?: string;\n}>) => {\n return (\n <li\n className={cn(\n \"truncate\",\n isActive\n ? \"text-primary\"\n : \"text-foreground/65 dark:text-foreground/75\",\n className,\n )}\n title={item.value}\n >\n <AnchorLink\n to={`#${item.id}`}\n {...{ [DATA_ANCHOR_ATTR]: item.id }}\n className={cn(\n isActive\n ? \"text-primary\"\n : \"text-foreground/65 dark:text-foreground/75 hover:text-foreground\",\n )}\n >\n {item.value}\n </AnchorLink>\n {children}\n </li>\n );\n};\n\nexport const Toc = ({ entries }: { entries: TocEntry[] }) => {\n const { activeAnchor } = useViewportAnchor();\n const listWrapperRef = useRef<HTMLUListElement>(null);\n const paintedOnce = useRef(false);\n const [indicatorStyle, setIndicatorStyles] = useState<CSSProperties>({\n top: 0,\n opacity: 0,\n });\n\n // synchronize active anchor indicator with the scroll position\n useEffect(() => {\n if (!listWrapperRef.current) return;\n\n const activeElement = listWrapperRef.current.querySelector(\n `[${DATA_ANCHOR_ATTR}='${activeAnchor}']`,\n );\n\n if (!activeElement) {\n setIndicatorStyles({ top: 0, opacity: 0 });\n return;\n }\n\n const topParent = listWrapperRef.current.getBoundingClientRect().top;\n const topElement = activeElement.getBoundingClientRect().top;\n\n setIndicatorStyles({\n opacity: 1,\n top: `${topElement - topParent}px`,\n });\n\n if (paintedOnce.current) return;\n\n // after all is painted, the indicator should animate\n requestIdle(() => {\n paintedOnce.current = true;\n });\n }, [activeAnchor]);\n\n return (\n <aside className=\"sticky top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm\">\n <div className=\"flex items-center gap-2 font-medium mb-2\">\n <ListTreeIcon size={16} />\n On this page\n </div>\n <div className=\"relative ms-2 ps-4\">\n <div className=\"absolute inset-0 right-auto bg-border w-[2px]\" />\n <div\n className={cn(\n \"absolute -left-px -translate-y-1 h-6 w-[4px] rounded bg-primary\",\n paintedOnce.current &&\n \"ease-out [transition:top_150ms,opacity_325ms]\",\n )}\n style={indicatorStyle}\n />\n <ul\n ref={listWrapperRef}\n className=\"relative font-medium list-none space-y-2\"\n >\n {entries.map((item) => (\n <TocItem\n isActive={item.id === activeAnchor}\n key={item.id}\n item={item}\n className=\"pl-0\"\n >\n {item.children && (\n <ul className=\"list-none pl-4 pt-2 space-y-2\">\n {item.children.map((child) => (\n <TocItem\n item={child}\n isActive={child.id === activeAnchor}\n key={child.id}\n />\n ))}\n </ul>\n )}\n </TocItem>\n ))}\n </ul>\n </div>\n </aside>\n );\n};\n","import { useMDXComponents } from \"@mdx-js/react\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { useMemo, type PropsWithChildren, type ReactNode } from \"react\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { ProseClasses } from \"../../components/Markdown.js\";\nimport { useTopNavigationItem } from \"../../components/context/DevPortalProvider.js\";\nimport { isPathItem } from \"../../components/navigation/util.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { cn } from \"../../util/cn.js\";\nimport slugify from \"../../util/slugify.js\";\nimport { traverseNavigation } from \"../../util/traverseNavigation.js\";\nimport { Toc } from \"./Toc.js\";\nimport { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerSidebarAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerSidebarAnchor>\n {\" \"}\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n tableOfContents,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const navItem = useTopNavigationItem();\n const location = useLocation();\n\n const categoryTitle = navItem\n ? traverseNavigation(navItem, (_node, fullPath, parentNodes) => {\n if (fullPath === location.pathname) {\n return parentNodes.at(0)?.label;\n }\n })\n : undefined;\n\n const title = frontmatter.title;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n tableOfContents.find((item) => item.depth === 1)?.value ?? title;\n const hidePager =\n frontmatter.disablePager ?? defaultOptions?.disablePager ?? false;\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 } = useMemo(() => {\n let prev = { path: \"\", label: \"\" as ReactNode };\n let next = { path: \"\", label: \"\" as ReactNode };\n let shouldStop = false;\n\n if (!navItem) return { prev, next };\n\n traverseNavigation(navItem, (node, fullPath) => {\n const item = { path: fullPath, label: node.label };\n\n if (shouldStop && isPathItem(node) && !node.children?.length) {\n next = item;\n return true;\n }\n if (fullPath === location.pathname) {\n shouldStop = true;\n }\n if (!shouldStop && isPathItem(node) && !node.children?.length) {\n prev = item;\n }\n });\n\n return { prev, next } as const;\n }, [navItem, location.pathname]);\n\n return (\n <div className=\"xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between\">\n <Helmet>\n <title>{pageTitle}</title>\n </Helmet>\n <div\n className={cn(\n ProseClasses,\n \"max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]\",\n )}\n >\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title, { lower: true })}>\n {title}\n </Heading>\n )}\n {frontmatter.description && (\n <p className=\"prose-lg\">{frontmatter.description}</p>\n )}\n </header>\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n {!hidePager && (\n <>\n <hr />\n <div className=\"not-prose flex items-center justify-between gap-8\">\n {prev.path ? (\n <Link\n to={prev.path}\n className=\"flex flex-col items-stretch gap-2 flex-1 truncate border rounded px-6 py-4 text-start hover:border-primary/85 transition shadow-sm hover:shadow-md\"\n title={\n typeof prev.label === \"string\" ? prev.label : undefined\n }\n >\n <div className=\"text-sm text-muted-foreground\">\n ← Previous page\n </div>\n <div className=\"text-lg text-primary truncate\">\n {prev.label}\n </div>\n </Link>\n ) : (\n <div className=\"flex-1\" />\n )}\n {next.path ? (\n <Link\n to={next.path}\n className=\"flex flex-col items-stretch gap-2 flex-1 truncate border rounded px-6 py-4 text-end hover:border-primary/85 transition shadow-sm hover:shadow-md\"\n title={\n typeof next.label === \"string\" ? next.label : undefined\n }\n >\n <div className=\"text-sm text-muted-foreground\">\n Next page →\n </div>\n <div className=\"text-lg text-primary truncate\">\n {next.label}\n </div>\n </Link>\n ) : (\n <div className=\"flex-1\" />\n )}\n </div>\n </>\n )}\n </div>\n <div className=\"hidden xl:block\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["ListTree","createLucideIcon","DATA_ANCHOR_ATTR","TocItem","item","children","className","isActive","jsxs","cn","jsx","AnchorLink","Toc","entries","activeAnchor","useViewportAnchor","listWrapperRef","useRef","paintedOnce","indicatorStyle","setIndicatorStyles","useState","useEffect","activeElement","topParent","topElement","requestIdle","ListTreeIcon","child","MarkdownHeadings","id","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","tableOfContents","navItem","useTopNavigationItem","location","useLocation","categoryTitle","traverseNavigation","_node","fullPath","parentNodes","_a","title","category","hideToc","pageTitle","hidePager","tocEntries","_b","showToc","prev","next","useMemo","shouldStop","node","isPathItem","Helmet","ProseClasses","CategoryHeading","slugify","useMDXComponents","Fragment","Link"],"mappings":"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","x_google_ignoreList":[0]}
|