zudoku 0.0.0-e4d0ea8 → 0.0.0-e53033e
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/cli.js +2 -2
- package/dist/app/entry.client.js +2 -2
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/entry.server.js +0 -3
- package/dist/app/entry.server.js.map +1 -1
- package/dist/app/main.d.ts +0 -1
- package/dist/app/main.js +21 -6
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.js.map +1 -1
- package/dist/cli/common/machine-id/lib.js.map +1 -1
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/cli/common/utils/box.js.map +1 -1
- package/dist/config/validators/InputSidebarSchema.d.ts +2 -2
- package/dist/config/validators/SidebarSchema.d.ts +1 -1
- package/dist/config/validators/SidebarSchema.js +9 -5
- package/dist/config/validators/SidebarSchema.js.map +1 -1
- package/dist/config/validators/validate.d.ts +14 -76
- package/dist/config/validators/validate.js +6 -7
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/components/Header.js +1 -5
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/TopNavigation.js +5 -30
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +9 -4
- package/dist/lib/components/context/ZudokuContext.js +20 -26
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/navigation/Sidebar.js +3 -3
- package/dist/lib/components/navigation/Sidebar.js.map +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js +3 -1
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.js +3 -1
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/utils.js +14 -10
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/DevPortalContext.d.ts +6 -3
- package/dist/lib/core/DevPortalContext.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +0 -1
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/plugins/markdown/generateRoutes.d.ts +3 -0
- package/dist/lib/plugins/markdown/generateRoutes.js +21 -0
- package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -0
- package/dist/lib/plugins/markdown/index.d.ts +6 -5
- package/dist/lib/plugins/markdown/index.js +3 -31
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/client/worker.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/util/useScrollToAnchor.js.map +1 -1
- package/dist/vite/build.js +2 -7
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.js +1 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/plugin-config-reload.js.map +1 -1
- package/dist/vite/plugin-docs.js +15 -20
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-sidebar.js +2 -5
- package/dist/vite/plugin-sidebar.js.map +1 -1
- package/dist/vite/prerender.d.ts +1 -5
- package/dist/vite/prerender.js +5 -6
- package/dist/vite/prerender.js.map +1 -1
- package/lib/{AuthenticationPlugin-Cnqy9csQ.js → AuthenticationPlugin-D_5jC4vE.js} +2 -2
- package/lib/{AuthenticationPlugin-Cnqy9csQ.js.map → AuthenticationPlugin-D_5jC4vE.js.map} +1 -1
- package/lib/{Input-x-t53FyR.js → Input-CYTkk51A.js} +3 -3
- package/lib/{Input-x-t53FyR.js.map → Input-CYTkk51A.js.map} +1 -1
- package/lib/{MdxPage-C5I9c7R1.js → MdxPage-Cbj8ILOL.js} +24 -25
- package/lib/{MdxPage-C5I9c7R1.js.map → MdxPage-Cbj8ILOL.js.map} +1 -1
- package/lib/{OperationList-qsBOguHS.js → OperationList-Dto8Wvgo.js} +4 -4
- package/lib/OperationList-Dto8Wvgo.js.map +1 -0
- package/lib/{Route-DlKvXPAO.js → Route-DLH-PALM.js} +2 -2
- package/lib/{Route-DlKvXPAO.js.map → Route-DLH-PALM.js.map} +1 -1
- package/lib/{SidebarBadge-DaA0-bFW.js → SidebarBadge-BWvFQTc1.js} +2 -2
- package/lib/{SidebarBadge-DaA0-bFW.js.map → SidebarBadge-BWvFQTc1.js.map} +1 -1
- package/lib/{ZudokuContext-DSipF8sq.js → ZudokuContext-uV_XfHPK.js} +411 -460
- package/lib/ZudokuContext-uV_XfHPK.js.map +1 -0
- package/lib/assets/{worker-DaFlmuyf.js → worker-Bf8vjASY.js} +2306 -2220
- package/lib/assets/{worker-DaFlmuyf.js.map → worker-Bf8vjASY.js.map} +1 -1
- package/lib/{index-CKmSo0py.js → index-LstIRx3V.js} +3 -3
- package/lib/{index-CKmSo0py.js.map → index-LstIRx3V.js.map} +1 -1
- package/lib/{index-Dssw7Gff.js → index-SyxHzsgJ.js} +2 -2
- package/lib/{index-Dssw7Gff.js.map → index-SyxHzsgJ.js.map} +1 -1
- package/lib/{index-BIl-R3aH.js → index-aHWE7ArR.js} +566 -554
- package/lib/index-aHWE7ArR.js.map +1 -0
- package/lib/joinPath-B7kNnUX4.js +8 -0
- package/lib/joinPath-B7kNnUX4.js.map +1 -0
- package/lib/{AnchorLink-DovtSBJk.js → utils-CCcr3AZm.js} +275 -231
- package/lib/utils-CCcr3AZm.js.map +1 -0
- package/lib/zudoku.auth-clerk.js +1 -1
- package/lib/zudoku.auth-openid.js +1 -1
- package/lib/zudoku.components.js +554 -564
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +2354 -2268
- package/lib/zudoku.openapi-worker.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +3 -3
- package/lib/zudoku.plugin-markdown.js +27 -93
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +5 -4
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/package.json +1 -1
- package/src/app/entry.client.tsx +2 -4
- package/src/app/entry.server.tsx +0 -4
- package/src/app/main.css +0 -4
- package/src/app/main.tsx +25 -9
- package/src/app/standalone.tsx +1 -1
- package/src/lib/components/Header.tsx +2 -10
- package/src/lib/components/TopNavigation.tsx +24 -58
- package/src/lib/components/context/ZudokuContext.ts +20 -28
- package/src/lib/components/navigation/Sidebar.tsx +5 -5
- package/src/lib/components/navigation/SidebarCategory.tsx +3 -1
- package/src/lib/components/navigation/SidebarItem.tsx +3 -1
- package/src/lib/components/navigation/utils.ts +16 -11
- package/src/lib/core/DevPortalContext.ts +2 -3
- package/src/lib/core/plugins.ts +0 -2
- package/src/lib/plugins/markdown/generateRoutes.tsx +38 -0
- package/src/lib/plugins/markdown/index.tsx +12 -49
- package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +1 -1
- package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
- package/src/lib/plugins/openapi/client/worker.ts +2 -2
- package/src/lib/plugins/openapi/index.tsx +1 -1
- package/src/lib/util/useScrollToAnchor.ts +1 -1
- package/dist/lib/plugins/markdown/resolver.d.ts +0 -38
- package/dist/lib/plugins/markdown/resolver.js +0 -75
- package/dist/lib/plugins/markdown/resolver.js.map +0 -1
- package/dist/vite/debug.d.ts +0 -1
- package/dist/vite/debug.js +0 -10
- package/dist/vite/debug.js.map +0 -1
- package/lib/AnchorLink-DovtSBJk.js.map +0 -1
- package/lib/OperationList-qsBOguHS.js.map +0 -1
- package/lib/ZudokuContext-DSipF8sq.js.map +0 -1
- package/lib/__vite-browser-external-BYRIRx8p.js +0 -9
- package/lib/__vite-browser-external-BYRIRx8p.js.map +0 -1
- package/lib/index-BIl-R3aH.js.map +0 -1
- package/src/lib/plugins/markdown/resolver.ts +0 -92
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAmC,EAAE,EAAE;IAClE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrB,MAAC,eAAe,eACd,KAAC,sBAAsB,cAAE,IAAI,CAAC,KAAK,GAA0B,EAC7D,KAAC,kBAAkB,cACjB,KAAC,sBAAsB,cACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9B,oDAAoD;oBACpD,KAAC,aAAa,IAAS,IAAI,EAAE,IAAI,IAAb,CAAC,CAAgB,CACtC,CAAC,GACqB,GACN,KATD,IAAI,CAAC,KAAK,CAUd,CACnB,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,YACvB,KAAC,gBAAgB,cAAmB,IAAI,CAAC,KAAK,IAAvB,IAAI,CAAC,KAAK,CAAiC,GAC7D,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,WAAW;IAC7C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAE,CAAC;IACzC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAElC,MAAM,YAAY,GAAG,OAAO;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;SACrC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,aAAa,IAAe,IAAI,EAAE,CAAC,IAAhB,CAAC,CAAC,KAAK,CAAa,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAElD,OAAO,CACL,kBAAQ,SAAS,EAAC,4DAA4D,aAC5E,KAAC,MAAM,KAAG,EACV,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,wIAAwI,aACrJ,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,IAAI,IAAC,EAAE,EAAC,GAAG,YACV,eAAK,SAAS,EAAC,2BAA2B,aACvC,IAAI,EAAE,IAAI,IAAI,CACb,8BACE,cACE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EACxB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EACpC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EACjC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,CAAC,EACzC,OAAO,EAAC,MAAM,GACd,EACF,cACE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EACvB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EACpC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EACjC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,EAC1C,OAAO,EAAC,MAAM,GACd,IACD,CACJ,EACD,eAAM,SAAS,EAAC,qDAAqD,YAClE,IAAI,EAAE,SAAS,GACX,IACH,GACD,GACH,EACN,eAAK,SAAS,EAAC,wEAAwE,aACrF,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,MAAM,KAAG,GACN,EAEN,KAAC,mBAAmB,KAAG,EACvB,eAAK,SAAS,EAAC,4DAA4D,aACzE,KAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,EACvC,aAAa,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACnC,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,sBAE1C,CACV,CAAC,CAAC,CAAC,CACF,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,MAAC,YAAY,IAAC,KAAK,EAAE,KAAK,aACxB,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,YACpB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,GAC5C,GACW,EACtB,MAAC,mBAAmB,IAAC,SAAS,EAAC,MAAM,aACnC,KAAC,iBAAiB,6BAA+B,EACjD,KAAC,qBAAqB,KAAG,EACxB,YAAY,IACO,IACT,CAChB,CACF,EACD,iBACE,IAAI,EAAC,QAAQ,gBAEX,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,EAEzD,SAAS,EAAC,6DAA6D,EACvE,OAAO,EAAE,WAAW,YAEpB,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,EACT,KAAC,OAAO,IAAC,IAAI,EAAC,qBAAqB,GAAG,IAClC,IACF,IACF,EACN,KAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,EACxC,KAAC,aAAa,KAAG,EACjB,KAAC,OAAO,IAAC,IAAI,EAAC,sBAAsB,GAAG,IACnC,IACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,40 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cx } from "class-variance-authority";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { joinPath } from "../util/joinPath.js";
|
|
6
|
-
import { useCurrentNavigation, useZudoku } from "./context/ZudokuContext.js";
|
|
7
|
-
import { traverseSidebar } from "./navigation/utils.js";
|
|
3
|
+
import { NavLink } from "react-router-dom";
|
|
4
|
+
import { useZudoku } from "./context/ZudokuContext.js";
|
|
8
5
|
export const TopNavigation = () => {
|
|
9
6
|
const { topNavigation } = useZudoku();
|
|
10
7
|
// Hide top nav if there is only one item
|
|
11
8
|
if (topNavigation.length <= 1) {
|
|
12
9
|
return _jsx("style", { children: `:root { --top-nav-height: 0px; }` });
|
|
13
10
|
}
|
|
14
|
-
return (_jsx(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const { sidebars } = useZudoku();
|
|
18
|
-
const nav = useCurrentNavigation();
|
|
19
|
-
const currentSidebar = sidebars[id];
|
|
20
|
-
// TODO: This is a bit of a hack to get the first link in the sidebar
|
|
21
|
-
// We should really process this when we load the config so we can validate
|
|
22
|
-
// that the sidebar is actually set. In this case we just fall back to linking
|
|
23
|
-
// to the id if we can't resolve a sidebar.
|
|
24
|
-
const first = defaultLink ??
|
|
25
|
-
(currentSidebar
|
|
26
|
-
? traverseSidebar(currentSidebar, (item) => {
|
|
27
|
-
if (item.type === "doc")
|
|
28
|
-
return joinPath(item.id);
|
|
29
|
-
})
|
|
30
|
-
: joinPath(id));
|
|
31
|
-
if (!first) {
|
|
32
|
-
throw new Error(`No links found in top navigation for top navigation '${id}'. Check that the sidebar isn't empty or that a default link set.`);
|
|
33
|
-
}
|
|
34
|
-
// Manually set the active sidebar based on our logic of what is active
|
|
35
|
-
const isActive = nav.data.topNavItem?.id === id;
|
|
36
|
-
return (_jsx(Link, { className: cx("block py-3.5 font-medium -mb-px border-b-2", isActive
|
|
37
|
-
? "border-primary text-foreground"
|
|
38
|
-
: "border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25"), to: first, children: label }));
|
|
11
|
+
return (_jsx("nav", { className: "hidden lg:block border-b text-sm px-12 h-[--top-nav-height]", children: _jsx("ul", { className: "flex flex-row items-center gap-8", children: topNavigation.map((item) => (_jsx("li", { children: _jsx(NavLink, { className: ({ isActive }) => cx("block py-3.5 font-medium -mb-px border-b-2", isActive
|
|
12
|
+
? "border-primary text-foreground"
|
|
13
|
+
: "border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25"), to: item.id, children: item.label }) }, item.label))) }) }));
|
|
39
14
|
};
|
|
40
15
|
//# sourceMappingURL=TopNavigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IAEtC,yCAAyC;IACzC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,0BAAQ,kCAAkC,GAAS,CAAC;IAC7D,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,6DAA6D,YAC1E,aAAI,SAAS,EAAC,kCAAkC,YAC7C,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,uBACE,KAAC,OAAO,IACN,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC1B,EAAE,CACA,4CAA4C,EAC5C,QAAQ;wBACN,CAAC,CAAC,gCAAgC;wBAClC,CAAC,CAAC,+FAA+F,CACpG,EAEH,EAAE,EAAE,IAAI,CAAC,EAAE,YAEV,IAAI,CAAC,KAAK,GACH,IAbH,IAAI,CAAC,KAAK,CAcd,CACN,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,11 +2,16 @@ import { DevPortalContext } from "../../core/DevPortalContext.js";
|
|
|
2
2
|
export declare const ZudokuReactContext: import("react").Context<DevPortalContext | undefined>;
|
|
3
3
|
export declare const useZudoku: () => DevPortalContext;
|
|
4
4
|
export declare const useApiIdentities: () => import("@tanstack/react-query").UseQueryResult<import("../../core/DevPortalContext.js").ApiIdentity[], Error>;
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export declare const useTopNavigationItem: () => {
|
|
6
|
+
id: string;
|
|
7
|
+
label: string;
|
|
8
|
+
default?: string;
|
|
9
|
+
} | undefined;
|
|
10
|
+
export declare const useNavigation: () => import("@tanstack/react-query").UseSuspenseQueryResult<{
|
|
11
|
+
items: import("../../../config/validators/SidebarSchema.js").SidebarItem[];
|
|
12
|
+
currentTopNavItem: {
|
|
8
13
|
id: string;
|
|
9
14
|
label: string;
|
|
10
|
-
default?: string
|
|
15
|
+
default?: string;
|
|
11
16
|
} | undefined;
|
|
12
17
|
}, Error>;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import { joinPath } from "../../util/joinPath.js";
|
|
5
|
-
import { traverseSidebar } from "../navigation/utils.js";
|
|
3
|
+
import { useLocation } from "react-router-dom";
|
|
6
4
|
export const ZudokuReactContext = createContext(undefined);
|
|
7
5
|
export const useZudoku = () => {
|
|
8
6
|
const context = useContext(ZudokuReactContext);
|
|
@@ -18,35 +16,31 @@ export const useApiIdentities = () => {
|
|
|
18
16
|
queryKey: ["api-identities"],
|
|
19
17
|
});
|
|
20
18
|
};
|
|
21
|
-
export const
|
|
22
|
-
const {
|
|
19
|
+
export const useTopNavigationItem = () => {
|
|
20
|
+
const { topNavigation } = useZudoku();
|
|
21
|
+
const location = useLocation();
|
|
22
|
+
const firstPart = location.pathname.split("/").at(1);
|
|
23
|
+
if (!firstPart)
|
|
24
|
+
return;
|
|
25
|
+
return topNavigation.find((item) => item.id === firstPart);
|
|
26
|
+
};
|
|
27
|
+
export const useNavigation = () => {
|
|
28
|
+
const { getPluginSidebar, sidebars } = useZudoku();
|
|
29
|
+
const navItem = useTopNavigationItem();
|
|
30
|
+
const path = navItem?.id;
|
|
31
|
+
const currentSidebar = path ? (sidebars[path] ?? []) : [];
|
|
23
32
|
const location = useLocation();
|
|
24
|
-
const currentSidebarItem = Object.entries(sidebars).find(([, sidebar]) => {
|
|
25
|
-
return traverseSidebar(sidebar, (item) => {
|
|
26
|
-
const itemId = item.type === "doc"
|
|
27
|
-
? joinPath(item.id)
|
|
28
|
-
: item.type === "category" && item.link
|
|
29
|
-
? joinPath(item.link.id)
|
|
30
|
-
: undefined;
|
|
31
|
-
if (itemId === location.pathname) {
|
|
32
|
-
return item;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
const currentTopNavItem = topNavigation.find((t) => t.id === currentSidebarItem?.[0]) ??
|
|
37
|
-
topNavigation.find((item) => matchPath(item.id, location.pathname));
|
|
38
33
|
return useSuspenseQuery({
|
|
39
34
|
queryFn: async () => {
|
|
40
|
-
const pluginSidebar =
|
|
35
|
+
const pluginSidebar = path
|
|
36
|
+
? await getPluginSidebar(path)
|
|
37
|
+
: await getPluginSidebar(location.pathname);
|
|
41
38
|
return {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
...pluginSidebar,
|
|
45
|
-
],
|
|
46
|
-
topNavItem: currentTopNavItem,
|
|
39
|
+
items: [...currentSidebar, ...pluginSidebar],
|
|
40
|
+
currentTopNavItem: navItem,
|
|
47
41
|
};
|
|
48
42
|
},
|
|
49
|
-
queryKey: ["navigation",
|
|
43
|
+
queryKey: ["navigation", path],
|
|
50
44
|
});
|
|
51
45
|
};
|
|
52
46
|
//# sourceMappingURL=ZudokuContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAC7C,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAC;IACzC,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,gBAAgB,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,gBAAgB,CAAC;QACtB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI;gBACxB,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC;gBAC9B,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE9C,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAC;gBAC5C,iBAAiB,EAAE,OAAO;aAC3B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -2,13 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useRef } from "react";
|
|
3
3
|
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
4
4
|
import { DrawerContent, DrawerTitle } from "../../ui/Drawer.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useNavigation } from "../context/ZudokuContext.js";
|
|
6
6
|
import { Slotlet } from "../SlotletProvider.js";
|
|
7
7
|
import { SidebarItem } from "./SidebarItem.js";
|
|
8
8
|
import { SidebarWrapper } from "./SidebarWrapper.js";
|
|
9
9
|
export const Sidebar = () => {
|
|
10
10
|
const navRef = useRef(null);
|
|
11
|
-
const navigation =
|
|
12
|
-
return (_jsxs(_Fragment, { children: [_jsxs(SidebarWrapper, { ref: navRef, pushMainContent: navigation.data.
|
|
11
|
+
const navigation = useNavigation();
|
|
12
|
+
return (_jsxs(_Fragment, { children: [_jsxs(SidebarWrapper, { ref: navRef, pushMainContent: navigation.data.items.length > 0, children: [_jsx(Slotlet, { name: "zudoku-before-navigation" }), navigation.data.items.map((item) => (_jsx(SidebarItem, { item: item }, item.label))), _jsx(Slotlet, { name: "zudoku-after-navigation" })] }), _jsxs(DrawerContent, { className: "lg:hidden h-screen left-0 p-6 w-[320px] rounded-none", "aria-describedby": undefined, children: [_jsx(VisuallyHidden, { children: _jsx(DrawerTitle, { children: "Sidebar" }) }), navigation.data.items.map((item) => (_jsx(SidebarItem, { item: item }, item.label)))] })] }));
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=Sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,OAAO,CACL,8BACE,MAAC,cAAc,IACb,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,aAEjD,KAAC,OAAO,IAAC,IAAI,EAAC,0BAA0B,GAAG,EAC1C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,KAAC,WAAW,IAAkB,IAAI,EAAE,IAAI,IAAtB,IAAI,CAAC,KAAK,CAAgB,CAC7C,CAAC,EACF,KAAC,OAAO,IAAC,IAAI,EAAC,yBAAyB,GAAG,IAC3B,EACjB,MAAC,aAAa,IACZ,SAAS,EAAC,sDAAsD,sBAC9C,SAAS,aAE3B,KAAC,cAAc,cACb,KAAC,WAAW,0BAAsB,GACnB,EAChB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,KAAC,WAAW,IAAkB,IAAI,EAAE,IAAI,IAAtB,IAAI,CAAC,KAAK,CAAgB,CAC7C,CAAC,IACY,IACf,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -5,9 +5,11 @@ import { useEffect, useState } from "react";
|
|
|
5
5
|
import { NavLink } from "react-router-dom";
|
|
6
6
|
import { cn } from "../../util/cn.js";
|
|
7
7
|
import { joinPath } from "../../util/joinPath.js";
|
|
8
|
+
import { useTopNavigationItem } from "../context/ZudokuContext.js";
|
|
8
9
|
import { navigationListItem, SidebarItem } from "./SidebarItem.js";
|
|
9
10
|
import { useIsCategoryOpen } from "./utils.js";
|
|
10
11
|
export const SidebarCategory = ({ category, level, }) => {
|
|
12
|
+
const topNavItem = useTopNavigationItem();
|
|
11
13
|
const isCategoryOpen = useIsCategoryOpen(category);
|
|
12
14
|
const [hasInteracted, setHasInteracted] = useState(false);
|
|
13
15
|
const isCollapsible = category.collapsible ?? true;
|
|
@@ -28,7 +30,7 @@ export const SidebarCategory = ({ category, level, }) => {
|
|
|
28
30
|
}, children: _jsx(ChevronRightIcon, { size: 16, className: cn(hasInteracted && "transition", "shrink-0 group-data-[state=open]:rotate-90") }) }));
|
|
29
31
|
return (_jsxs(Collapsible.Root, { className: cn("flex flex-col", level === 0 && "-mx-[--padding-nav-item]"), defaultOpen: isDefaultOpen, open: open, onOpenChange: () => setOpen(true), children: [_jsx(Collapsible.Trigger, { className: "group", asChild: true, disabled: !isCollapsible, children: _jsxs("div", { className: cn("text-start", navigationListItem({ isActive: false, isTopLevel: level === 0 }), isCollapsible
|
|
30
32
|
? "cursor-pointer"
|
|
31
|
-
: "cursor-default hover:bg-transparent"), children: [category.icon && (_jsx(category.icon, { size: 16, className: "align-[-0.125em] -translate-x-1" })), category.link?.type === "doc" ? (_jsx(NavLink, { to: joinPath(category.link.id), className: "flex-1", onClick: () => setHasInteracted(true), children: ({ isActive }) => (_jsxs("div", { className: cn("flex items-center gap-2 justify-between w-full", isActive
|
|
33
|
+
: "cursor-default hover:bg-transparent"), children: [category.icon && (_jsx(category.icon, { size: 16, className: "align-[-0.125em] -translate-x-1" })), category.link?.type === "doc" ? (_jsx(NavLink, { to: joinPath(topNavItem?.id, category.link.id), className: "flex-1", onClick: () => setHasInteracted(true), children: ({ isActive }) => (_jsxs("div", { className: cn("flex items-center gap-2 justify-between w-full", isActive
|
|
32
34
|
? "text-primary font-medium"
|
|
33
35
|
: "text-foreground/80"), children: [_jsx("div", { className: "truncate", children: category.label }), ToggleButton] })) })) : (_jsxs("div", { className: "flex items-center justify-between w-full", children: [_jsx("div", { className: "flex gap-2 truncate w-full", children: category.label }), ToggleButton] }))] }) }), _jsx(Collapsible.Content, { className: cn(
|
|
34
36
|
// CollapsibleContent class is used to animate and it should only be applied when the user has triggered the toggle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC;IACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAC3B,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,cAAc,CACjD,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,6DAA6D;QAC7D,sDAAsD;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,aAAa,IAAI,CACpC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,YAED,KAAC,gBAAgB,IACf,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,EAAE,CACX,aAAa,IAAI,YAAY,EAC7B,4CAA4C,CAC7C,GACD,GACK,CACV,CAAC;IAEF,OAAO,CACL,MAAC,WAAW,CAAC,IAAI,IACf,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,KAAK,CAAC,IAAI,0BAA0B,CAAC,EACzE,WAAW,EAAE,aAAa,EAC1B,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAEjC,KAAC,WAAW,CAAC,OAAO,IAAC,SAAS,EAAC,OAAO,EAAC,OAAO,QAAC,QAAQ,EAAE,CAAC,aAAa,YACrE,eACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAChE,aAAa;wBACX,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,qCAAqC,CAC1C,aAEA,QAAQ,CAAC,IAAI,IAAI,CAChB,KAAC,QAAQ,CAAC,IAAI,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,iCAAiC,GAC3C,CACH,EACA,QAAQ,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAC/B,KAAC,OAAO,IACN,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { cn } from "../../util/cn.js";
|
|
|
6
6
|
import { joinPath } from "../../util/joinPath.js";
|
|
7
7
|
import { AnchorLink } from "../AnchorLink.js";
|
|
8
8
|
import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
|
|
9
|
+
import { useTopNavigationItem } from "../context/ZudokuContext.js";
|
|
9
10
|
import { SidebarBadge } from "./SidebarBadge.js";
|
|
10
11
|
import { SidebarCategory } from "./SidebarCategory.js";
|
|
11
12
|
export const navigationListItem = cva("flex items-center gap-2 px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent transition-colors duration-300", {
|
|
@@ -25,13 +26,14 @@ export const navigationListItem = cva("flex items-center gap-2 px-[--padding-nav
|
|
|
25
26
|
});
|
|
26
27
|
export const DATA_ANCHOR_ATTR = "data-anchor";
|
|
27
28
|
export const SidebarItem = ({ item, level = 0, }) => {
|
|
29
|
+
const topNavItem = useTopNavigationItem();
|
|
28
30
|
const { activeAnchor } = useViewportAnchor();
|
|
29
31
|
const [searchParams] = useSearchParams();
|
|
30
32
|
switch (item.type) {
|
|
31
33
|
case "category":
|
|
32
34
|
return _jsx(SidebarCategory, { category: item, level: level });
|
|
33
35
|
case "doc":
|
|
34
|
-
return (_jsxs(NavLink, { className: ({ isActive }) => navigationListItem({ isActive, isTopLevel: level === 0 }), to: joinPath(item.id), children: [item.icon && _jsx(item.icon, { size: 16, className: "align-[-0.125em]" }), item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (item.label)] }));
|
|
36
|
+
return (_jsxs(NavLink, { className: ({ isActive }) => navigationListItem({ isActive, isTopLevel: level === 0 }), to: joinPath(topNavItem?.id, item.id), children: [item.icon && _jsx(item.icon, { size: 16, className: "align-[-0.125em]" }), item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (item.label)] }));
|
|
35
37
|
case "link":
|
|
36
38
|
return item.href.startsWith("#") ? (_jsx(AnchorLink, { to: { hash: item.href, search: searchParams.toString() }, [DATA_ANCHOR_ATTR]: item.href.slice(1), className: cn("flex gap-2.5 justify-between", level === 0 && "-mx-[--padding-nav-item]", navigationListItem({
|
|
37
39
|
isActive: item.href.slice(1) === activeAnchor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,kHAAkH,EAClH;IACE,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,IAAI,EAAE,eAAe;SACtB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,oBAAoB;SAC5B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,EAAE;SACV;KACF;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,IAAI,EACJ,KAAK,GAAG,CAAC,GAKV,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC7C,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAC;IAEzC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,KAAC,eAAe,IAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;QAC3D,KAAK,KAAK;YACR,OAAO,CACL,MAAC,OAAO,IACN,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC1B,kBAAkB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAE3D,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useLocation } from "react-router-dom";
|
|
2
2
|
import { joinPath } from "../../util/joinPath.js";
|
|
3
|
-
import {
|
|
3
|
+
import { useTopNavigationItem, useZudoku } from "../context/ZudokuContext.js";
|
|
4
4
|
export const traverseSidebar = (sidebar, callback) => {
|
|
5
5
|
for (const item of sidebar) {
|
|
6
6
|
const result = traverseSidebarItem(item, callback);
|
|
@@ -25,25 +25,28 @@ export const traverseSidebarItem = (item, callback, parentCategories = []) => {
|
|
|
25
25
|
};
|
|
26
26
|
export const useCurrentItem = () => {
|
|
27
27
|
const location = useLocation();
|
|
28
|
-
const
|
|
29
|
-
const
|
|
28
|
+
const topNavItem = useTopNavigationItem();
|
|
29
|
+
const { sidebars } = useZudoku();
|
|
30
|
+
const currentSidebar = topNavItem?.id ? sidebars[topNavItem.id] : [];
|
|
30
31
|
return traverseSidebar(currentSidebar, (item) => {
|
|
31
|
-
if (item.type === "doc" &&
|
|
32
|
+
if (item.type === "doc" &&
|
|
33
|
+
joinPath(topNavItem?.id, item.id) === location.pathname) {
|
|
32
34
|
return item;
|
|
33
35
|
}
|
|
34
36
|
});
|
|
35
37
|
};
|
|
36
38
|
export const useIsCategoryOpen = (category) => {
|
|
37
39
|
const location = useLocation();
|
|
40
|
+
const topNavItem = useTopNavigationItem();
|
|
38
41
|
return traverseSidebarItem(category, (item) => {
|
|
39
42
|
if (item.type === "category" && item.link) {
|
|
40
|
-
const categoryLinkPath = joinPath(item.link.id);
|
|
43
|
+
const categoryLinkPath = joinPath(topNavItem?.id, item.link.id);
|
|
41
44
|
if (categoryLinkPath === location.pathname) {
|
|
42
45
|
return true;
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
48
|
if (item.type === "doc") {
|
|
46
|
-
const docPath = joinPath(item.id);
|
|
49
|
+
const docPath = joinPath(topNavItem?.id, item.id);
|
|
47
50
|
if (docPath === location.pathname) {
|
|
48
51
|
return true;
|
|
49
52
|
}
|
|
@@ -52,16 +55,17 @@ export const useIsCategoryOpen = (category) => {
|
|
|
52
55
|
};
|
|
53
56
|
export const usePrevNext = () => {
|
|
54
57
|
const currentId = useLocation().pathname;
|
|
55
|
-
const
|
|
56
|
-
const
|
|
58
|
+
const { sidebars } = useZudoku();
|
|
59
|
+
const topNavItem = useTopNavigationItem();
|
|
60
|
+
const currentSidebar = topNavItem?.id ? sidebars[topNavItem.id] : [];
|
|
57
61
|
let prev;
|
|
58
62
|
let next;
|
|
59
63
|
let foundCurrent = false;
|
|
60
64
|
traverseSidebar(currentSidebar, (item) => {
|
|
61
65
|
const itemId = item.type === "doc"
|
|
62
|
-
? joinPath(item.id)
|
|
66
|
+
? joinPath(topNavItem?.id, item.id)
|
|
63
67
|
: item.type === "category" && item.link
|
|
64
|
-
? joinPath(item.link.id)
|
|
68
|
+
? joinPath(topNavItem?.id, item.link.id)
|
|
65
69
|
: undefined;
|
|
66
70
|
if (!itemId)
|
|
67
71
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { QueryClient } from "@tanstack/react-query";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
import type { SidebarConfig } from "../../config/validators/SidebarSchema.js";
|
|
4
|
-
import { TopNavigationItem } from "../../config/validators/validate.js";
|
|
5
4
|
import { type AuthenticationProvider } from "../authentication/authentication.js";
|
|
6
5
|
import type { ComponentsContextType } from "../components/context/ComponentsContext.js";
|
|
7
6
|
import { Slotlets } from "../components/SlotletProvider.js";
|
|
@@ -48,7 +47,11 @@ export type ZudokuContextOptions = {
|
|
|
48
47
|
metadata?: Metadata;
|
|
49
48
|
page?: Page;
|
|
50
49
|
authentication?: AuthenticationProvider;
|
|
51
|
-
topNavigation?:
|
|
50
|
+
topNavigation?: Array<{
|
|
51
|
+
id: string;
|
|
52
|
+
label: string;
|
|
53
|
+
default?: string;
|
|
54
|
+
}>;
|
|
52
55
|
sidebars?: SidebarConfig;
|
|
53
56
|
plugins?: DevPortalPlugin[];
|
|
54
57
|
slotlets?: Slotlets;
|
|
@@ -59,7 +62,7 @@ export type ZudokuContextOptions = {
|
|
|
59
62
|
};
|
|
60
63
|
export declare class DevPortalContext {
|
|
61
64
|
plugins: NonNullable<ZudokuContextOptions["plugins"]>;
|
|
62
|
-
sidebars:
|
|
65
|
+
sidebars: NonNullable<ZudokuContextOptions["sidebars"]>;
|
|
63
66
|
topNavigation: NonNullable<ZudokuContextOptions["topNavigation"]>;
|
|
64
67
|
meta: ZudokuContextOptions["metadata"];
|
|
65
68
|
page: ZudokuContextOptions["page"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevPortalContext.js","sourceRoot":"","sources":["../../../src/lib/core/DevPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DevPortalContext.js","sourceRoot":"","sources":["../../../src/lib/core/DevPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAQtB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAkD7C,MAAM,OAAO,gBAAgB;IACpB,OAAO,CAA+C;IACtD,QAAQ,CAAgD;IACxD,aAAa,CAAqD;IAClE,IAAI,CAAmC;IACvC,IAAI,CAA+B;IACnC,cAAc,CAA0C;IACvD,iBAAiB,CAAqB;IAE9C,YAAY,MAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,UAAU,GAAG,KAAK,IAAmB,EAAE;QACrC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAC;IAEF,eAAe,GAAG,KAAK,EAAE,GAAwB,EAAE,EAAE;QACnD,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,gBAAgB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACpC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,WAAW,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAE/D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;CACH"}
|
|
@@ -4,7 +4,6 @@ import type { Sidebar } from "../../config/validators/SidebarSchema.js";
|
|
|
4
4
|
import { MdxComponentsType } from "../util/MdxComponents.js";
|
|
5
5
|
import { DevPortalContext, type ApiIdentity } from "./DevPortalContext.js";
|
|
6
6
|
export type DevPortalPlugin = CommonPlugin | ProfileMenuPlugin | NavigationPlugin | ApiIdentityPlugin | SearchProviderPlugin;
|
|
7
|
-
export type { RouteObject };
|
|
8
7
|
export interface NavigationPlugin {
|
|
9
8
|
getRoutes: () => RouteObject[];
|
|
10
9
|
getSidebar?: (path: string) => Promise<Sidebar>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/core/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/core/plugins.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAoB,EACM,EAAE,CAC5B,qBAAqB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,mBAAmB,KAAK,UAAU,CAAC;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,GAAoB,EACK,EAAE,CAC3B,WAAW,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAoB,EACS,EAAE,CAC/B,cAAc,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAoB,EACC,EAAE,CACvB,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAoB,EAAuB,EAAE,CACnE,SAAS,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAoB,EACC,EAAE,CACvB,kBAAkB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,gBAAgB,KAAK,UAAU,CAAC;AAE1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAoB,EACM,EAAE,CAC5B,eAAe,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type RouteObject } from "react-router-dom";
|
|
2
|
+
import { MarkdownPluginDefaultOptions, MarkdownPluginOptions } from "./index.js";
|
|
3
|
+
export declare const generateRoutes: (markdownFiles: MarkdownPluginOptions["markdownFiles"], filesPath: string, defaultOptions?: MarkdownPluginDefaultOptions) => RouteObject[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export const generateRoutes = (markdownFiles, filesPath, defaultOptions) => Object.entries(markdownFiles).flatMap(([file, importPromise]) => {
|
|
3
|
+
let rootDir = filesPath.split("**")[0];
|
|
4
|
+
rootDir = rootDir.replace("/**", "/");
|
|
5
|
+
const re = new RegExp(`^${rootDir}(.*).mdx?`);
|
|
6
|
+
const match = file.match(re);
|
|
7
|
+
const fsPath = match?.at(1);
|
|
8
|
+
if (!fsPath)
|
|
9
|
+
return [];
|
|
10
|
+
return {
|
|
11
|
+
path: fsPath,
|
|
12
|
+
lazy: async () => {
|
|
13
|
+
const { MdxPage } = await import("./MdxPage.js");
|
|
14
|
+
const { default: Component, ...props } = await importPromise();
|
|
15
|
+
return {
|
|
16
|
+
element: (_jsx(MdxPage, { mdxComponent: Component, ...props, defaultOptions: defaultOptions })),
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=generateRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateRoutes.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/generateRoutes.tsx"],"names":[],"mappings":";AAOA,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,aAAqD,EACrD,SAAiB,EACjB,cAA6C,EAC9B,EAAE,CACjB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;IAC9D,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,WAAW,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,CACP,KAAC,OAAO,IACN,YAAY,EAAE,SAAS,KACnB,KAAK,EACT,cAAc,EAAE,cAAc,GAC9B,CACH;aACF,CAAC;QACJ,CAAC;KACoB,CAAC;AAC1B,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Toc } from "@stefanprobst/rehype-extract-toc";
|
|
2
2
|
import type { MDXProps } from "mdx/types.js";
|
|
3
|
-
import { ZudokuDocsConfig } from "../../../config/validators/validate.js";
|
|
4
3
|
import type { DevPortalPlugin } from "../../core/plugins.js";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export type MarkdownPluginOptions = {
|
|
5
|
+
markdownFiles: Record<string, () => Promise<MDXImport>>;
|
|
6
|
+
defaultOptions?: MarkdownPluginDefaultOptions;
|
|
7
|
+
filesPath: string;
|
|
8
|
+
};
|
|
8
9
|
export type MarkdownPluginDefaultOptions = Pick<Frontmatter, "toc" | "disablePager">;
|
|
9
10
|
export type Frontmatter = {
|
|
10
11
|
title?: string;
|
|
@@ -18,4 +19,4 @@ export type MDXImport = {
|
|
|
18
19
|
frontmatter: Frontmatter;
|
|
19
20
|
default: (props: MDXProps) => JSX.Element;
|
|
20
21
|
};
|
|
21
|
-
export declare const markdownPlugin: (
|
|
22
|
+
export declare const markdownPlugin: ({ markdownFiles, defaultOptions, filesPath, }: MarkdownPluginOptions) => DevPortalPlugin;
|
|
@@ -1,33 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
getRoutes: () => {
|
|
5
|
-
const routeMap = new Map();
|
|
6
|
-
options.forEach(({ fileImports, files, defaultOptions }) => Object.entries(fileImports).flatMap(([file, importPromise]) => {
|
|
7
|
-
const routePath = DocResolver.resolveRoutePath({
|
|
8
|
-
filesGlob: files,
|
|
9
|
-
fsPath: file,
|
|
10
|
-
});
|
|
11
|
-
if (!routePath)
|
|
12
|
-
return [];
|
|
13
|
-
if (routeMap.has(routePath)) {
|
|
14
|
-
// eslint-disable-next-line no-console
|
|
15
|
-
console.warn(`Duplicate route path found for ${routePath}. Skipping file at '${file}'.`);
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
const route = {
|
|
19
|
-
path: routePath,
|
|
20
|
-
lazy: async () => {
|
|
21
|
-
const { MdxPage } = await import("./MdxPage.js");
|
|
22
|
-
const { default: Component, ...props } = await importPromise();
|
|
23
|
-
return {
|
|
24
|
-
element: (_jsx(MdxPage, { mdxComponent: Component, ...props, defaultOptions: defaultOptions })),
|
|
25
|
-
};
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
routeMap.set(routePath, route);
|
|
29
|
-
}));
|
|
30
|
-
return [...routeMap.values()];
|
|
31
|
-
},
|
|
1
|
+
import { generateRoutes } from "./generateRoutes.js";
|
|
2
|
+
export const markdownPlugin = ({ markdownFiles, defaultOptions, filesPath, }) => ({
|
|
3
|
+
getRoutes: () => generateRoutes(markdownFiles, filesPath, defaultOptions),
|
|
32
4
|
});
|
|
33
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA0BrD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,aAAa,EACb,cAAc,EACd,SAAS,GACa,EAAmB,EAAE,CAAC,CAAC;IAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC;CAC1E,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Endpoint.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;;;;CAS1C,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChD,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,EACD,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,YAEV,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,EAAC,IAAI,EAAE,EAAE,GAAI,CACnD,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,CACzC,GACM,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAW,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QACxB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,YAAY,EAAE;QACzB,OAAO;KACR,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,aAAa,EAAE,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAEvE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,qBAAqB,0BAAiB,EACtD,KAAC,UAAU,IAAC,SAAS,EAAC,qBAAqB,EAAC,aAAa,kBACtD,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Endpoint.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestBodySidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/RequestBodySidecarBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAMxE,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,OAAO,EAAwB,EAAE,EAAE;IACzE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,CACL,4BACE,MAAC,UAAU,CAAC,IAAI,eACd,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACpE,eAAM,SAAS,EAAC,WAAW,qCAA4B,GACvC,EAClB,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,KAAK,YAC9B,KAAC,eAAe,IACd,QAAQ,EAAC,MAAM,EACf,YAAY,QACZ,QAAQ,QACR,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM;4BACnB,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"RequestBodySidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/RequestBodySidecarBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAMxE,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,OAAO,EAAwB,EAAE,EAAE;IACzE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,CACL,4BACE,MAAC,UAAU,CAAC,IAAI,eACd,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACpE,eAAM,SAAS,EAAC,WAAW,qCAA4B,GACvC,EAClB,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,KAAK,YAC9B,KAAC,eAAe,IACd,QAAQ,EAAC,MAAM,EACf,YAAY,QACZ,QAAQ,QACR,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM;4BACnB,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAsB,CAAC;4BAC1D,CAAC,CAAC,EAAE,EACN,IAAI,EACJ,CAAC,CACF,GACD,GACc,IACF,GACjB,CACJ,CAAC;AACJ,CAAC,CAAC"}
|