zudoku 0.3.0-dev.83 → 0.3.0-dev.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/cli.js +5 -1
  2. package/dist/app/demo.js +5 -4
  3. package/dist/app/demo.js.map +1 -1
  4. package/dist/app/main.js +3 -1
  5. package/dist/app/main.js.map +1 -1
  6. package/dist/app/standalone.js +5 -4
  7. package/dist/app/standalone.js.map +1 -1
  8. package/dist/config/validators/ResolvedSidebarSchema.d.ts +18 -0
  9. package/dist/config/validators/ResolvedSidebarSchema.js +76 -0
  10. package/dist/config/validators/ResolvedSidebarSchema.js.map +1 -0
  11. package/dist/config/validators/SidebarSchema.d.ts +177 -0
  12. package/dist/config/validators/SidebarSchema.js +71 -0
  13. package/dist/config/validators/SidebarSchema.js.map +1 -0
  14. package/dist/config/validators/validate.d.ts +411 -59
  15. package/dist/config/validators/validate.js +22 -4
  16. package/dist/config/validators/validate.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/lib/components/DevPortal.js +1 -1
  19. package/dist/lib/components/DevPortal.js.map +1 -1
  20. package/dist/lib/components/Header.js +5 -4
  21. package/dist/lib/components/Header.js.map +1 -1
  22. package/dist/lib/components/Heading.d.ts +1 -1
  23. package/dist/lib/components/Layout.js +2 -2
  24. package/dist/lib/components/Layout.js.map +1 -1
  25. package/dist/lib/components/TopNavigation.js +5 -5
  26. package/dist/lib/components/TopNavigation.js.map +1 -1
  27. package/dist/lib/components/context/DevPortalProvider.d.ts +9 -3
  28. package/dist/lib/components/context/DevPortalProvider.js +11 -23
  29. package/dist/lib/components/context/DevPortalProvider.js.map +1 -1
  30. package/dist/lib/components/context/ThemeContext.d.ts +1 -4
  31. package/dist/lib/components/context/ThemeContext.js +3 -29
  32. package/dist/lib/components/context/ThemeContext.js.map +1 -1
  33. package/dist/lib/components/context/ThemeProvider.d.ts +4 -0
  34. package/dist/lib/components/context/ThemeProvider.js +23 -0
  35. package/dist/lib/components/context/ThemeProvider.js.map +1 -0
  36. package/dist/lib/components/navigation/Sidebar.d.ts +1 -0
  37. package/dist/lib/components/navigation/Sidebar.js +12 -0
  38. package/dist/lib/components/navigation/Sidebar.js.map +1 -0
  39. package/dist/lib/components/navigation/SidebarBadge.d.ts +22 -0
  40. package/dist/lib/components/navigation/SidebarBadge.js +24 -0
  41. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -0
  42. package/dist/lib/components/navigation/SidebarCategory.d.ts +5 -0
  43. package/dist/lib/components/navigation/SidebarCategory.js +33 -0
  44. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -0
  45. package/dist/lib/components/navigation/SidebarItem.d.ts +12 -0
  46. package/dist/lib/components/navigation/SidebarItem.js +42 -0
  47. package/dist/lib/components/navigation/SidebarItem.js.map +1 -0
  48. package/dist/lib/components/navigation/{SideNavigationWrapper.d.ts → SidebarWrapper.d.ts} +1 -1
  49. package/dist/lib/components/navigation/{SideNavigationWrapper.js → SidebarWrapper.js} +2 -2
  50. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -0
  51. package/dist/lib/components/navigation/utils.d.ts +16 -0
  52. package/dist/lib/components/navigation/utils.js +85 -0
  53. package/dist/lib/components/navigation/utils.js.map +1 -0
  54. package/dist/lib/core/DevPortalContext.d.ts +9 -32
  55. package/dist/lib/core/DevPortalContext.js +8 -5
  56. package/dist/lib/core/DevPortalContext.js.map +1 -1
  57. package/dist/lib/core/plugins.d.ts +6 -8
  58. package/dist/lib/core/plugins.js.map +1 -1
  59. package/dist/lib/plugins/markdown/MdxPage.js +5 -36
  60. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  61. package/dist/lib/plugins/markdown/generateRoutes.js +20 -43
  62. package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
  63. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  64. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  65. package/dist/lib/plugins/openapi/ParameterList.js +2 -1
  66. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  67. package/dist/lib/plugins/openapi/SchemaListView.js +6 -1
  68. package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
  69. package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +3 -2
  70. package/dist/lib/plugins/openapi/SchemaListViewItem.js +6 -3
  71. package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +1 -1
  72. package/dist/lib/plugins/openapi/Sidecar.js +12 -2
  73. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  74. package/dist/lib/plugins/openapi/index.js +14 -11
  75. package/dist/lib/plugins/openapi/index.js.map +1 -1
  76. package/dist/lib/plugins/openapi/interfaces.d.ts +1 -1
  77. package/dist/lib/plugins/openapi/playground/Headers.js +1 -1
  78. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  79. package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
  80. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  81. package/dist/lib/util/useScrollToAnchor.js +31 -17
  82. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  83. package/dist/vite/plugin-sidebar.d.ts +3 -0
  84. package/dist/vite/plugin-sidebar.js +23 -0
  85. package/dist/vite/plugin-sidebar.js.map +1 -0
  86. package/dist/vite/plugin.js +2 -0
  87. package/dist/vite/plugin.js.map +1 -1
  88. package/lib/{AuthenticationPlugin-XS0DoAhE.js → AuthenticationPlugin-DgwV0hVu.js} +7 -7
  89. package/lib/{AuthenticationPlugin-XS0DoAhE.js.map → AuthenticationPlugin-DgwV0hVu.js.map} +1 -1
  90. package/lib/{CategoryHeading-DCmchnA1.js → CategoryHeading-BWq12Bfa.js} +3 -3
  91. package/lib/{CategoryHeading-DCmchnA1.js.map → CategoryHeading-BWq12Bfa.js.map} +1 -1
  92. package/lib/{Combination-C442XfGG.js → Combination-DkycFHkm.js} +4 -4
  93. package/lib/{Combination-C442XfGG.js.map → Combination-DkycFHkm.js.map} +1 -1
  94. package/lib/{DevPortalProvider-BWeAysxF.js → DevPortalProvider-CTxoCHIT.js} +375 -417
  95. package/lib/DevPortalProvider-CTxoCHIT.js.map +1 -0
  96. package/lib/DeveloperHint-BQSFXH01.js +10 -0
  97. package/lib/{DeveloperHint-DQVwIery.js.map → DeveloperHint-BQSFXH01.js.map} +1 -1
  98. package/lib/{Input-3IEt27jb.js → Input-BclXSY0g.js} +5 -5
  99. package/lib/{Input-3IEt27jb.js.map → Input-BclXSY0g.js.map} +1 -1
  100. package/lib/{Markdown-QsZ-PHET.js → Markdown-B_Gax7at.js} +1136 -1152
  101. package/lib/{Markdown-QsZ-PHET.js.map → Markdown-B_Gax7at.js.map} +1 -1
  102. package/lib/{MdxPage-CA1WmW14.js → MdxPage-Crlr0GmN.js} +67 -81
  103. package/lib/MdxPage-Crlr0GmN.js.map +1 -0
  104. package/lib/{OperationList-CHK_erYP.js → OperationList-CMH3DPpj.js} +145 -129
  105. package/lib/OperationList-CMH3DPpj.js.map +1 -0
  106. package/lib/Route-CwXfyIUw.js +14 -0
  107. package/lib/{Route-D70pGn9n.js.map → Route-CwXfyIUw.js.map} +1 -1
  108. package/lib/{SlotletProvider-B71hNEUL.js → SlotletProvider-CzMAO73_.js} +12 -12
  109. package/lib/{SlotletProvider-B71hNEUL.js.map → SlotletProvider-CzMAO73_.js.map} +1 -1
  110. package/lib/Spinner-fF-Xv-gw.js +274 -0
  111. package/lib/Spinner-fF-Xv-gw.js.map +1 -0
  112. package/lib/index-7kcHaXD6.js +1771 -0
  113. package/lib/index-7kcHaXD6.js.map +1 -0
  114. package/lib/{index-Bl6YeerK.js → index-DUrF63A6.js} +1028 -1044
  115. package/lib/index-DUrF63A6.js.map +1 -0
  116. package/lib/{index-BH-Ub36F.js → index-DkuZvRNP.js} +4 -4
  117. package/lib/{index-BH-Ub36F.js.map → index-DkuZvRNP.js.map} +1 -1
  118. package/lib/joinPath-VeNuJa7y.js +8 -0
  119. package/lib/joinPath-VeNuJa7y.js.map +1 -0
  120. package/lib/jsx-runtime-B6kdoens.js +635 -0
  121. package/lib/jsx-runtime-B6kdoens.js.map +1 -0
  122. package/lib/{AnchorLink-BZcpTwOs.js → utils-CzT_9Tsn.js} +258 -214
  123. package/lib/utils-CzT_9Tsn.js.map +1 -0
  124. package/lib/zudoku.auth-clerk.js +1 -1
  125. package/lib/zudoku.auth-openid.js +2 -2
  126. package/lib/zudoku.components.js +1229 -1227
  127. package/lib/zudoku.components.js.map +1 -1
  128. package/lib/zudoku.plugin-api-keys.js +19 -19
  129. package/lib/zudoku.plugin-custom-page.js +2 -2
  130. package/lib/zudoku.plugin-markdown.js +21 -38
  131. package/lib/zudoku.plugin-markdown.js.map +1 -1
  132. package/lib/zudoku.plugin-openapi.js +8 -6
  133. package/lib/zudoku.plugin-openapi.js.map +1 -1
  134. package/package.json +4 -1
  135. package/src/app/demo.tsx +5 -4
  136. package/src/app/main.css +2 -2
  137. package/src/app/main.tsx +3 -1
  138. package/src/app/standalone.tsx +5 -4
  139. package/src/lib/components/DevPortal.tsx +1 -1
  140. package/src/lib/components/Header.tsx +21 -19
  141. package/src/lib/components/Layout.tsx +2 -2
  142. package/src/lib/components/TopNavigation.tsx +5 -5
  143. package/src/lib/components/context/DevPortalProvider.ts +11 -28
  144. package/src/lib/components/context/ThemeContext.tsx +3 -41
  145. package/src/lib/components/context/ThemeProvider.tsx +27 -0
  146. package/src/lib/components/navigation/{SideNavigation.tsx → Sidebar.tsx} +7 -7
  147. package/src/lib/components/navigation/SidebarBadge.tsx +40 -0
  148. package/src/lib/components/navigation/SidebarCategory.tsx +105 -0
  149. package/src/lib/components/navigation/SidebarItem.tsx +96 -0
  150. package/src/lib/components/navigation/{SideNavigationWrapper.tsx → SidebarWrapper.tsx} +1 -1
  151. package/src/lib/components/navigation/utils.ts +120 -0
  152. package/src/lib/core/DevPortalContext.ts +12 -44
  153. package/src/lib/core/plugins.ts +6 -13
  154. package/src/lib/plugins/markdown/MdxPage.tsx +14 -50
  155. package/src/lib/plugins/markdown/generateRoutes.tsx +29 -57
  156. package/src/lib/plugins/openapi/OperationListItem.tsx +5 -6
  157. package/src/lib/plugins/openapi/ParameterList.tsx +13 -10
  158. package/src/lib/plugins/openapi/SchemaListView.tsx +18 -2
  159. package/src/lib/plugins/openapi/SchemaListViewItem.tsx +16 -7
  160. package/src/lib/plugins/openapi/Sidecar.tsx +15 -2
  161. package/src/lib/plugins/openapi/index.tsx +17 -23
  162. package/src/lib/plugins/openapi/interfaces.ts +1 -1
  163. package/src/lib/plugins/openapi/playground/Headers.tsx +1 -1
  164. package/src/lib/plugins/openapi/playground/Playground.tsx +1 -1
  165. package/src/lib/util/useScrollToAnchor.ts +39 -18
  166. package/dist/lib/components/navigation/SideNavigation.d.ts +0 -1
  167. package/dist/lib/components/navigation/SideNavigation.js +0 -12
  168. package/dist/lib/components/navigation/SideNavigation.js.map +0 -1
  169. package/dist/lib/components/navigation/SideNavigationCategory.d.ts +0 -4
  170. package/dist/lib/components/navigation/SideNavigationCategory.js +0 -26
  171. package/dist/lib/components/navigation/SideNavigationCategory.js.map +0 -1
  172. package/dist/lib/components/navigation/SideNavigationItem.d.ts +0 -9
  173. package/dist/lib/components/navigation/SideNavigationItem.js +0 -44
  174. package/dist/lib/components/navigation/SideNavigationItem.js.map +0 -1
  175. package/dist/lib/components/navigation/SideNavigationWrapper.js.map +0 -1
  176. package/dist/lib/components/navigation/useNavigationCollapsibleState.d.ts +0 -9
  177. package/dist/lib/components/navigation/useNavigationCollapsibleState.js +0 -28
  178. package/dist/lib/components/navigation/useNavigationCollapsibleState.js.map +0 -1
  179. package/dist/lib/components/navigation/util.d.ts +0 -8
  180. package/dist/lib/components/navigation/util.js +0 -15
  181. package/dist/lib/components/navigation/util.js.map +0 -1
  182. package/dist/lib/plugins/openapi/MethodBadge.d.ts +0 -13
  183. package/dist/lib/plugins/openapi/MethodBadge.js +0 -26
  184. package/dist/lib/plugins/openapi/MethodBadge.js.map +0 -1
  185. package/dist/lib/util/traverseNavigation.d.ts +0 -6
  186. package/dist/lib/util/traverseNavigation.js +0 -30
  187. package/dist/lib/util/traverseNavigation.js.map +0 -1
  188. package/lib/AnchorLink-BZcpTwOs.js.map +0 -1
  189. package/lib/DevPortalProvider-BWeAysxF.js.map +0 -1
  190. package/lib/DeveloperHint-DQVwIery.js +0 -10
  191. package/lib/MdxPage-CA1WmW14.js.map +0 -1
  192. package/lib/OperationList-CHK_erYP.js.map +0 -1
  193. package/lib/Route-D70pGn9n.js +0 -13
  194. package/lib/Spinner-Coi7ORUV.js +0 -244
  195. package/lib/Spinner-Coi7ORUV.js.map +0 -1
  196. package/lib/index-Bl6YeerK.js.map +0 -1
  197. package/lib/index-Dt-pU7Vu.js +0 -916
  198. package/lib/index-Dt-pU7Vu.js.map +0 -1
  199. package/lib/jsx-runtime-CJBdjYYx.js +0 -1526
  200. package/lib/jsx-runtime-CJBdjYYx.js.map +0 -1
  201. package/src/lib/components/navigation/SideNavigationCategory.tsx +0 -72
  202. package/src/lib/components/navigation/SideNavigationItem.tsx +0 -148
  203. package/src/lib/components/navigation/useNavigationCollapsibleState.ts +0 -42
  204. package/src/lib/components/navigation/util.ts +0 -38
  205. package/src/lib/plugins/openapi/MethodBadge.tsx +0 -36
  206. package/src/lib/util/traverseNavigation.ts +0 -55
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const SideNavigationWrapper: import("react").ForwardRefExoticComponent<{
1
+ export declare const SidebarWrapper: import("react").ForwardRefExoticComponent<{
2
2
  pushMainContent?: boolean;
3
3
  className?: string;
4
4
  } & {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { cn } from "../../util/cn.js";
4
- export const SideNavigationWrapper = forwardRef(function SideNavigation({ children, className, pushMainContent }, ref) {
4
+ export const SidebarWrapper = forwardRef(function SideNavigation({ children, className, pushMainContent }, ref) {
5
5
  return (_jsx("nav", { "data-navigation": String(pushMainContent), className: cn("peer hidden lg:flex flex-col fixed text-sm overflow-y-auto shrink-0 p-[--padding-nav-item] -mx-[--padding-nav-item] pb-20 pt-[--padding-content-top] w-[--side-nav-width] h-[calc(100%-var(--header-height))] scroll-pt-2 gap-2", className), ref: ref, children: children }));
6
6
  });
7
- //# sourceMappingURL=SideNavigationWrapper.js.map
7
+ //# sourceMappingURL=SidebarWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarWrapper.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAGtC,SAAS,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,GAAG;IACrE,OAAO,CACL,iCAKmB,MAAM,CAAC,eAAe,CAAC,EACxC,SAAS,EAAE,EAAE,CACX,iOAAiO,EACjO,SAAS,CACV,EACD,GAAG,EAAE,GAAG,YAEP,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ResolvedSidebarItem, ResolvedSidebarItemCategory } from "../../../config/validators/ResolvedSidebarSchema.js";
2
+ export type TraverseCallback<T> = (item: ResolvedSidebarItem, parentCategories: ResolvedSidebarItem[]) => T | void;
3
+ export declare const traverseSidebar: <T>(sidebar: ResolvedSidebarItem[], callback: TraverseCallback<T>) => T | undefined;
4
+ export declare const traverseSidebarItem: <T>(item: ResolvedSidebarItem, callback: TraverseCallback<T>, parentCategories?: ResolvedSidebarItem[]) => T | undefined;
5
+ export declare const useCurrentItem: () => import("../../../config/validators/ResolvedSidebarSchema.js").ResolvedSidebarItemDoc | undefined;
6
+ export declare const useIsCategoryOpen: (category: ResolvedSidebarItemCategory) => true | undefined;
7
+ export declare const usePrevNext: () => {
8
+ prev?: {
9
+ label: string;
10
+ id: string;
11
+ };
12
+ next?: {
13
+ label: string;
14
+ id: string;
15
+ };
16
+ };
@@ -0,0 +1,85 @@
1
+ import { useLocation } from "react-router-dom";
2
+ import { joinPath } from "../../util/joinPath.js";
3
+ import { useDevPortal, useTopNavigationItem, } from "../context/DevPortalProvider.js";
4
+ export const traverseSidebar = (sidebar, callback) => {
5
+ for (const item of sidebar) {
6
+ const result = traverseSidebarItem(item, callback);
7
+ if (result !== undefined)
8
+ return result;
9
+ }
10
+ };
11
+ export const traverseSidebarItem = (item, callback, parentCategories = []) => {
12
+ const result = callback(item, parentCategories);
13
+ if (result !== undefined)
14
+ return result;
15
+ if (item.type === "category") {
16
+ for (const child of item.items) {
17
+ const childResult = traverseSidebarItem(child, callback, [
18
+ ...parentCategories,
19
+ item,
20
+ ]);
21
+ if (childResult !== undefined)
22
+ return childResult;
23
+ }
24
+ }
25
+ };
26
+ export const useCurrentItem = () => {
27
+ const location = useLocation();
28
+ const topNavItem = useTopNavigationItem();
29
+ const { sidebars } = useDevPortal();
30
+ const currentSidebar = topNavItem?.id ? sidebars[topNavItem.id] : [];
31
+ return traverseSidebar(currentSidebar, (item) => {
32
+ if (item.type === "doc" &&
33
+ joinPath(topNavItem?.id, item.id) === location.pathname) {
34
+ return item;
35
+ }
36
+ });
37
+ };
38
+ export const useIsCategoryOpen = (category) => {
39
+ const location = useLocation();
40
+ const topNavItem = useTopNavigationItem();
41
+ return traverseSidebarItem(category, (item) => {
42
+ if (item.type === "category" && item.link) {
43
+ const categoryLinkPath = joinPath(topNavItem?.id, item.link.id);
44
+ if (categoryLinkPath === location.pathname) {
45
+ return true;
46
+ }
47
+ }
48
+ if (item.type === "doc") {
49
+ const docPath = joinPath(topNavItem?.id, item.id);
50
+ if (docPath === location.pathname) {
51
+ return true;
52
+ }
53
+ }
54
+ });
55
+ };
56
+ export const usePrevNext = () => {
57
+ const currentId = useLocation().pathname;
58
+ const { sidebars } = useDevPortal();
59
+ const topNavItem = useTopNavigationItem();
60
+ const currentSidebar = topNavItem?.id ? sidebars[topNavItem.id] : [];
61
+ let prev;
62
+ let next;
63
+ let foundCurrent = false;
64
+ traverseSidebar(currentSidebar, (item) => {
65
+ const itemId = item.type === "doc"
66
+ ? joinPath(topNavItem?.id, item.id)
67
+ : item.type === "category" && item.link
68
+ ? joinPath(topNavItem?.id, item.link.id)
69
+ : undefined;
70
+ if (!itemId)
71
+ return;
72
+ if (foundCurrent) {
73
+ next = { label: item.label, id: itemId };
74
+ return true;
75
+ }
76
+ if (currentId === itemId) {
77
+ foundCurrent = true;
78
+ }
79
+ else {
80
+ prev = { label: item.label, id: itemId };
81
+ }
82
+ });
83
+ return { prev, next };
84
+ };
85
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { QueryClient } from "@tanstack/react-query";
2
- import { type ReactNode } from "react";
3
2
  import { NavigateFunction } from "react-router-dom";
3
+ import type { ResolvedSidebarConfig } from "../../config/validators/ResolvedSidebarSchema.js";
4
4
  import { type AuthenticationProvider } from "../authentication/authentication.js";
5
5
  import type { ComponentsContextType } from "../components/context/ComponentsContext.js";
6
- import { type DevPortalPath } from "../components/DevPortal.js";
7
6
  import { Slotlets } from "../components/SlotletProvider.js";
8
7
  import type { MdxComponentsType } from "../util/MdxComponents.js";
9
8
  import { type DevPortalPlugin } from "./plugins.js";
@@ -12,33 +11,6 @@ export interface ApiIdentity {
12
11
  label: string;
13
12
  id: string;
14
13
  }
15
- type BaseNavigationCategoryItem = {
16
- label: ReactNode;
17
- title?: string;
18
- muted?: boolean;
19
- icon?: ReactNode;
20
- };
21
- export type PathNavigationCategoryItem = BaseNavigationCategoryItem & {
22
- path: string;
23
- children?: NavigationCategoryItem[];
24
- };
25
- export type HrefNavigationCategoryItem = BaseNavigationCategoryItem & {
26
- href: string;
27
- };
28
- export type NavigationCategoryItem = PathNavigationCategoryItem | HrefNavigationCategoryItem;
29
- export type NavigationCategory = {
30
- label: string;
31
- path?: string;
32
- expanded?: boolean;
33
- collapsible?: boolean;
34
- icon?: ReactNode;
35
- children: NavigationCategoryItem[];
36
- };
37
- export type NavigationItem = {
38
- label: string;
39
- path: DevPortalPath;
40
- categories?: NavigationCategory[];
41
- };
42
14
  export declare const queryClient: QueryClient;
43
15
  export type ApiKeyCache = "api-keys";
44
16
  export type DevPortalCacheKey = ApiKeyCache | string;
@@ -70,7 +42,11 @@ export type ZudokuContextOptions = {
70
42
  metadata?: Metadata;
71
43
  page?: Page;
72
44
  authentication?: AuthenticationProvider;
73
- navigation: NavigationItem[];
45
+ topNavigation?: Array<{
46
+ id: string;
47
+ label: string;
48
+ }>;
49
+ sidebars?: ResolvedSidebarConfig;
74
50
  plugins?: DevPortalPlugin[];
75
51
  slotlets?: Slotlets;
76
52
  mdx?: {
@@ -80,7 +56,8 @@ export type ZudokuContextOptions = {
80
56
  };
81
57
  export declare class DevPortalContext {
82
58
  plugins: NonNullable<ZudokuContextOptions["plugins"]>;
83
- navigation: ZudokuContextOptions["navigation"];
59
+ sidebars: NonNullable<ZudokuContextOptions["sidebars"]>;
60
+ topNavigation: NonNullable<ZudokuContextOptions["topNavigation"]>;
84
61
  meta: ZudokuContextOptions["metadata"];
85
62
  page: ZudokuContextOptions["page"];
86
63
  authentication?: ZudokuContextOptions["authentication"];
@@ -91,7 +68,7 @@ export declare class DevPortalContext {
91
68
  }) => Promise<void>;
92
69
  invalidateCache: (key: DevPortalCacheKey[]) => Promise<void>;
93
70
  getApiIdentities: () => Promise<ApiIdentity[]>;
94
- getNavigation: (path: string) => Promise<import("./plugins.js").PluginNavigationCategory[]>;
71
+ getPluginNavigation: (path: string) => Promise<import("../../config/validators/ResolvedSidebarSchema.js").ResolvedSidebarItem[]>;
95
72
  signRequest: (request: Request) => Promise<Request>;
96
73
  }
97
74
  export {};
@@ -1,16 +1,19 @@
1
1
  import { QueryClient } from "@tanstack/react-query";
2
+ import { joinPath } from "../util/joinPath.js";
2
3
  import { isApiIdentityPlugin, isNavigationPlugin, needsInitialization, } from "./plugins.js";
3
4
  export const queryClient = new QueryClient();
4
5
  export class DevPortalContext {
5
- plugins = [];
6
- navigation;
6
+ plugins;
7
+ sidebars;
8
+ topNavigation;
7
9
  meta;
8
10
  page;
9
11
  authentication;
10
12
  navigationPlugins;
11
13
  constructor(config) {
12
14
  this.plugins = config.plugins ?? [];
13
- this.navigation = config.navigation;
15
+ this.topNavigation = config.topNavigation ?? [];
16
+ this.sidebars = config.sidebars ?? {};
14
17
  this.navigationPlugins = this.plugins.filter(isNavigationPlugin);
15
18
  this.authentication = config.authentication;
16
19
  this.meta = config.metadata;
@@ -30,8 +33,8 @@ export class DevPortalContext {
30
33
  .map((plugin) => plugin.getIdentities(this)));
31
34
  return keys.flat();
32
35
  };
33
- getNavigation = async (path) => {
34
- const navigations = await Promise.all(this.navigationPlugins.map(async (plugin) => plugin.getNavigation?.(path)));
36
+ getPluginNavigation = async (path) => {
37
+ const navigations = await Promise.all(this.navigationPlugins.map((plugin) => plugin.getNavigation?.(joinPath(path))));
35
38
  return navigations.flatMap((nav) => nav ?? []);
36
39
  };
37
40
  signRequest = async (request) => {
@@ -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;AAQpD,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AA2CtB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AA4C7C,MAAM,OAAO,gBAAgB;IACpB,OAAO,GAAiD,EAAE,CAAC;IAC3D,UAAU,CAAqC;IAC/C,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,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,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,EAAE,EAClB,QAAQ,GAGT,EAAiB,EAAE;QAClB,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,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC5D,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,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAC7B,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"}
1
+ {"version":3,"file":"DevPortalContext.js","sourceRoot":"","sources":["../../../src/lib/core/DevPortalContext.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,23 @@
1
1
  import { type ReactElement } from "react";
2
2
  import { NavigateFunction, type RouteObject } from "react-router-dom";
3
+ import type { ResolvedSidebar } from "../../config/validators/ResolvedSidebarSchema.js";
3
4
  import { MdxComponentsType } from "../util/MdxComponents.js";
4
- import { DevPortalContext, type ApiIdentity, type NavigationCategory } from "./DevPortalContext.js";
5
- export type PluginNavigationCategory = {
6
- path: string;
7
- } & NavigationCategory;
5
+ import { DevPortalContext, type ApiIdentity } from "./DevPortalContext.js";
8
6
  export type DevPortalPlugin = CommonPlugin | ProfileMenuPlugin | NavigationPlugin | ApiIdentityPlugin;
9
7
  export interface NavigationPlugin {
10
8
  getRoutes: () => RouteObject[];
11
- getNavigation?: (path: string) => Promise<PluginNavigationCategory[]>;
9
+ getNavigation?: (path: string) => Promise<ResolvedSidebar>;
12
10
  }
13
11
  export interface ApiIdentityPlugin {
14
12
  getIdentities: (context: DevPortalContext) => Promise<ApiIdentity[]>;
15
13
  }
16
14
  export interface ProfileMenuPlugin {
17
- getProfileMenuItems: (context: DevPortalContext) => NavigationItem[];
15
+ getProfileMenuItems: (context: DevPortalContext) => ProfileNavigationItem[];
18
16
  }
19
- export type NavigationItem = {
17
+ export type ProfileNavigationItem = {
20
18
  label: string;
21
19
  path?: string;
22
- children?: NavigationItem[];
20
+ children?: ProfileNavigationItem[];
23
21
  };
24
22
  export interface CommonPlugin {
25
23
  initialize?: (context: DevPortalContext, options: {
@@ -1 +1 @@
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,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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/core/plugins.ts"],"names":[],"mappings":"AAwCA,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,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"}
@@ -1,31 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useMDXComponents } from "@mdx-js/react";
3
3
  import { Helmet } from "@zudoku/react-helmet-async";
4
- import { useMemo } from "react";
5
- import { Link, useLocation } from "react-router-dom";
4
+ import { Link } from "react-router-dom";
6
5
  import { CategoryHeading } from "../../components/CategoryHeading.js";
7
6
  import { Heading } from "../../components/Heading.js";
8
7
  import { ProseClasses } from "../../components/Markdown.js";
9
- import { useTopNavigationItem } from "../../components/context/DevPortalProvider.js";
10
- import { isPathItem } from "../../components/navigation/util.js";
8
+ import { useCurrentItem, usePrevNext, } from "../../components/navigation/utils.js";
11
9
  import { cn } from "../../util/cn.js";
12
10
  import slugify from "../../util/slugify.js";
13
- import { traverseNavigation } from "../../util/traverseNavigation.js";
14
11
  import { Toc } from "./Toc.js";
15
12
  const MarkdownHeadings = {
16
13
  h2: ({ children, id }) => (_jsx(Heading, { level: 2, id: id, registerSidebarAnchor: true, children: children })),
17
14
  h3: ({ children, id }) => (_jsxs(Heading, { level: 3, id: id, registerSidebarAnchor: true, children: [" ", children] })),
18
15
  };
19
16
  export const MdxPage = ({ mdxComponent: MdxComponent, frontmatter = {}, defaultOptions, tableOfContents, }) => {
20
- const navItem = useTopNavigationItem();
21
- const location = useLocation();
22
- const categoryTitle = navItem
23
- ? traverseNavigation(navItem, (_node, fullPath, parentNodes) => {
24
- if (fullPath === location.pathname) {
25
- return parentNodes.at(0)?.label;
26
- }
27
- })
28
- : undefined;
17
+ const categoryTitle = useCurrentItem()?.categoryLabel;
29
18
  const title = frontmatter.title;
30
19
  const category = frontmatter.category ?? categoryTitle;
31
20
  const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;
@@ -35,27 +24,7 @@ export const MdxPage = ({ mdxComponent: MdxComponent, frontmatter = {}, defaultO
35
24
  // if `title` is provided by frontmatter it does not appear in the table of contents
36
25
  tableOfContents.filter((item) => item.depth === 2);
37
26
  const showToc = !hideToc && tocEntries.length > 0;
38
- const { prev, next } = useMemo(() => {
39
- let prev = { path: "", label: "" };
40
- let next = { path: "", label: "" };
41
- let shouldStop = false;
42
- if (!navItem)
43
- return { prev, next };
44
- traverseNavigation(navItem, (node, fullPath) => {
45
- const item = { path: fullPath, label: node.label };
46
- if (shouldStop && isPathItem(node) && !node.children?.length) {
47
- next = item;
48
- return true;
49
- }
50
- if (fullPath === location.pathname) {
51
- shouldStop = true;
52
- }
53
- if (!shouldStop && isPathItem(node) && !node.children?.length) {
54
- prev = item;
55
- }
56
- });
57
- return { prev, next };
58
- }, [navItem, location.pathname]);
59
- return (_jsxs("div", { className: "xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between", children: [_jsx(Helmet, { children: _jsx("title", { children: pageTitle }) }), _jsxs("div", { className: cn(ProseClasses, "max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]"), children: [_jsxs("header", { children: [category && _jsx(CategoryHeading, { children: category }), title && (_jsx(Heading, { level: 1, id: slugify(title, { lower: true }), children: title })), frontmatter.description && (_jsx("p", { className: "prose-lg", children: frontmatter.description }))] }), _jsx(MdxComponent, { components: { ...useMDXComponents(), ...MarkdownHeadings } }), !hidePager && (_jsxs(_Fragment, { children: [_jsx("hr", {}), _jsxs("div", { className: "not-prose flex items-center justify-between gap-8", children: [prev.path ? (_jsxs(Link, { to: prev.path, 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", title: typeof prev.label === "string" ? prev.label : undefined, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "\u2190 Previous page" }), _jsx("div", { className: "text-lg text-primary truncate", children: prev.label })] })) : (_jsx("div", { className: "flex-1" })), next.path ? (_jsxs(Link, { to: next.path, 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", title: typeof next.label === "string" ? next.label : undefined, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "Next page \u2192" }), _jsx("div", { className: "text-lg text-primary truncate", children: next.label })] })) : (_jsx("div", { className: "flex-1" }))] })] }))] }), _jsx("div", { className: "hidden xl:block", children: showToc && _jsx(Toc, { entries: tocEntries }) })] }));
27
+ const { prev, next } = usePrevNext();
28
+ return (_jsxs("div", { className: "xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between", children: [_jsx(Helmet, { children: _jsx("title", { children: pageTitle }) }), _jsxs("div", { className: cn(ProseClasses, "max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]"), children: [_jsxs("header", { children: [category && _jsx(CategoryHeading, { children: category }), title && (_jsx(Heading, { level: 1, id: slugify(title, { lower: true }), children: title })), frontmatter.description && (_jsx("p", { className: "prose-lg", children: frontmatter.description }))] }), _jsx(MdxComponent, { components: { ...useMDXComponents(), ...MarkdownHeadings } }), !hidePager && (_jsxs(_Fragment, { children: [_jsx("hr", {}), _jsxs("div", { className: "not-prose flex items-center justify-between gap-8", children: [prev ? (_jsxs(Link, { to: prev.id, 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", title: prev.label, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "\u2190 Previous page" }), _jsx("div", { className: "text-lg text-primary truncate", children: prev.label })] })) : (_jsx("div", { className: "flex-1" })), next ? (_jsxs(Link, { to: next.id, 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", title: next.label, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "Next page \u2192" }), _jsx("div", { className: "text-lg text-primary truncate", children: next.label })] })) : (_jsx("div", { className: "flex-1" }))] })] }))] }), _jsx("div", { className: "hidden xl:block", children: showToc && _jsx(Toc, { entries: tocEntries }) })] }));
60
29
  };
61
30
  //# sourceMappingURL=MdxPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdxPage.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/MdxPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MdxPage.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/MdxPage.tsx"],"names":[],"mappings":"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"}
@@ -1,45 +1,22 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Navigate } from "react-router-dom";
3
- import { useTopNavigationItem } from "../../components/context/DevPortalProvider.js";
4
- import { isPathItem } from "../../components/navigation/util.js";
5
- import { traverseNavigation } from "../../util/traverseNavigation.js";
6
- export const generateRoutes = (markdownFiles, defaultOptions) => {
7
- const routes = Object.entries(markdownFiles).flatMap(([file, importPromise]) => {
8
- // @todo we can pass in the folder name and then filter the markdown files based on that path
9
- const match = file.match(/pages\/(.*).mdx?$/);
10
- const path = match?.at(1);
11
- if (!path)
12
- return [];
13
- const pathSegments = path.split("/");
14
- const isIndexFile = pathSegments.at(-1) === "index";
15
- const routePath = isIndexFile
16
- ? pathSegments.slice(0, -1).join("/")
17
- : path;
18
- return {
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
- });
29
- const rootRoutes = Array.from(new Set(routes.map((route) => route.path.split("/").at(0)))).map((dir) => ({
30
- path: `/${dir}`,
31
- element: _jsx(Redirect, {}),
32
- }));
33
- return [...routes, ...rootRoutes];
34
- };
35
- const Redirect = () => {
36
- const navItem = useTopNavigationItem();
37
- if (!navItem)
38
- return null;
39
- return traverseNavigation(navItem, (node, fullPath) => {
40
- if ("children" in node || !isPathItem(node))
41
- return;
42
- return _jsx(Navigate, { to: fullPath, replace: true });
43
- });
44
- };
2
+ export const generateRoutes = (markdownFiles, defaultOptions) => Object.entries(markdownFiles).flatMap(([file, importPromise]) => {
3
+ // @todo we can pass in the folder name and then filter the markdown files based on that path
4
+ const match = file.match(/pages\/(.*).mdx?$/);
5
+ const path = match?.at(1);
6
+ if (!path)
7
+ return [];
8
+ const pathSegments = path.split("/");
9
+ const isIndexFile = pathSegments.at(-1) === "index";
10
+ const routePath = isIndexFile ? pathSegments.slice(0, -1).join("/") : path;
11
+ return {
12
+ path: routePath,
13
+ lazy: async () => {
14
+ const { MdxPage } = await import("./MdxPage.js");
15
+ const { default: Component, ...props } = await importPromise();
16
+ return {
17
+ element: (_jsx(MdxPage, { mdxComponent: Component, ...props, defaultOptions: defaultOptions })),
18
+ };
19
+ },
20
+ };
21
+ });
45
22
  //# sourceMappingURL=generateRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateRoutes.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/generateRoutes.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAOtE,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,aAAqD,EACrD,cAA6C,EAC9B,EAAE;IACjB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAClD,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;QACxB,6FAA6F;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC;QAET,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;gBACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;gBAC/D,OAAO;oBACL,OAAO,EAAE,CACP,KAAC,OAAO,IACN,YAAY,EAAE,SAAS,KACnB,KAAK,EACT,cAAc,EAAE,cAAc,GAC9B,CACH;iBACF,CAAC;YACJ,CAAC;SACoB,CAAC;IAC1B,CAAC,CACF,CAAC;IAEF,MAAM,UAAU,GAAkB,KAAK,CAAC,IAAI,CAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,IAAI,GAAG,EAAE;QACf,OAAO,EAAE,KAAC,QAAQ,KAAG;KACtB,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QACpD,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QACpD,OAAO,KAAC,QAAQ,IAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,SAAG,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
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,cAA6C,EAC9B,EAAE,CACjB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;IAC9D,6FAA6F;IAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IACpD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,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,6 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Heading } from "../../components/Heading.js";
3
3
  import { Markdown } from "../../components/Markdown.js";
4
+ import { Card } from "../../ui/Card.js";
4
5
  import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../ui/Tabs.js";
5
6
  import { groupBy } from "../../util/groupBy.js";
6
7
  import { renderIf } from "../../util/renderIf.js";
@@ -15,8 +16,8 @@ export const OperationListItem = ({ operationFragment, }) => {
15
16
  const operation = useFragment(OperationsFragment, operationFragment);
16
17
  const groupedParameters = groupBy(operation.parameters ?? [], (param) => param.in);
17
18
  const first = operation.responses.at(0);
18
- return (_jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16 border-border", children: [_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(Heading, { level: 2, id: operation.slug, registerSidebarAnchor: true, children: operation.summary }), operation.description && (_jsx(Markdown, { className: SchemaProseClasses, content: operation.description })), operation.parameters && operation.parameters.length > 0 && (_jsx(_Fragment, { children: PARAM_GROUPS.flatMap((group) => groupedParameters[group]?.length ? (_jsx(ParameterList, { id: operation.slug, parameters: groupedParameters[group], group: group }, group)) : ([])) })), renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (_jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [_jsx(Heading, { level: 3, className: "capitalize", children: "Request Body" }), _jsx(SchemaListView, { schema: schema })] }))), operation.responses.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Heading, { level: 3, className: "capitalize mt-8 pt-8 border-t", children: "Responses" }), _jsxs(Tabs, { defaultValue: `${first?.statusCode}${first?.description}`, children: [operation.responses.length > 1 && (_jsx(TabsList, { children: operation.responses.map((response) => (_jsx(TabsTrigger, { value: response.statusCode + response.description, title: response.description, children: response.statusCode }, response.statusCode))) })), _jsx("ul", { className: "list-none m-0 px-0 overflow-hidden", children: operation.responses.map((response) => (_jsx(TabsContent, { value: response.statusCode + response.description, children: renderIf(response.content?.find((content) => content.schema), (content) => {
19
- return (_jsx(SchemaListView, { schema: content.schema, name: "" }));
20
- }) ?? (_jsx("div", { className: "border-border font-mono text-sm border rounded p-4", children: "No response body" })) }, response.statusCode))) })] })] }))] }), _jsx(Sidecar, { operation: operation })] }, operation.operationId));
19
+ return (_jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16", children: [_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(Heading, { level: 2, id: operation.slug, registerSidebarAnchor: true, children: operation.summary }), operation.description && (_jsx(Markdown, { className: SchemaProseClasses, content: operation.description })), operation.parameters && operation.parameters.length > 0 && (_jsx(_Fragment, { children: PARAM_GROUPS.flatMap((group) => groupedParameters[group]?.length ? (_jsx(ParameterList, { id: operation.slug, parameters: groupedParameters[group], group: group }, group)) : ([])) })), renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (_jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [_jsx(Heading, { level: 3, className: "capitalize", children: "Request Body" }), _jsx(SchemaListView, { schema: schema })] }))), operation.responses.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Heading, { level: 3, className: "capitalize mt-8 pt-8 border-t", children: "Responses" }), _jsxs(Tabs, { defaultValue: `${first?.statusCode}${first?.description}`, children: [operation.responses.length > 1 && (_jsx(TabsList, { children: operation.responses.map((response) => (_jsx(TabsTrigger, { value: response.statusCode + response.description, title: response.description, children: response.statusCode }, response.statusCode))) })), _jsx("ul", { className: "list-none m-0 px-0 overflow-hidden", children: operation.responses.map((response) => (_jsx(TabsContent, { value: response.statusCode + response.description, children: renderIf(response.content?.find((content) => content.schema), (content) => {
20
+ return _jsx(SchemaListView, { schema: content.schema });
21
+ }) ?? (_jsx(Card, { className: "font-mono text-sm p-4", children: "No response body" })) }, response.statusCode))) })] })] }))] }), _jsx(Sidecar, { operation: operation })] }, operation.operationId));
21
22
  };
22
23
  //# sourceMappingURL=OperationListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OperationListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationListItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationListItem.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Heading } from "../../components/Heading.js";
3
+ import { Card } from "../../ui/Card.js";
3
4
  import { ParameterListItem, } from "./ParameterListItem.js";
4
- export const ParameterList = ({ group, parameters, id, }) => (_jsxs(_Fragment, { children: [_jsx(Heading, { level: 3, id: `${id}/${group}-parameters`, className: "capitalize", children: group === "header" ? "Headers" : `${group} Parameters` }), _jsx("ul", { className: "list-none m-0 px-0 overflow-hidden border divide-y divide-border rounded", children: parameters.map((parameter) => (_jsx(ParameterListItem, { parameter: parameter, id: id, group: group }, `${parameter.name}-${parameter.in}`))) })] }));
5
+ export const ParameterList = ({ group, parameters, id, }) => (_jsxs(_Fragment, { children: [_jsx(Heading, { level: 3, id: `${id}/${group}-parameters`, className: "capitalize", children: group === "header" ? "Headers" : `${group} Parameters` }), _jsx(Card, { children: _jsx("ul", { className: "list-none m-0 px-0 divide-y ", children: parameters.map((parameter) => (_jsx(ParameterListItem, { parameter: parameter, id: id, group: group }, `${parameter.name}-${parameter.in}`))) }) })] }));
5
6
  //# sourceMappingURL=ParameterList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,EAAE,GAKH,EAAE,EAAE,CAAC,CACJ,8BACE,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,aAAa,EAAE,SAAS,EAAC,YAAY,YACvE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,GAC/C,EACV,aAAI,SAAS,EAAC,0EAA0E,YACrF,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,KAAC,iBAAiB,IAEhB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,IAHP,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,EAAE,CAIxC,CACH,CAAC,GACC,IACJ,CACJ,CAAC"}
1
+ {"version":3,"file":"ParameterList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,EAAE,GAKH,EAAE,EAAE,CAAC,CACJ,8BACE,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,aAAa,EAAE,SAAS,EAAC,YAAY,YACvE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,GAC/C,EACV,KAAC,IAAI,cACH,aAAI,SAAS,EAAC,8BAA8B,YACzC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,KAAC,iBAAiB,IAEhB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,IAHP,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,EAAE,CAIxC,CACH,CAAC,GACC,GACA,IACN,CACJ,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Markdown } from "../../components/Markdown.js";
3
+ import { Card } from "../../ui/Card.js";
3
4
  import { groupBy } from "../../util/groupBy.js";
4
5
  import { objectEntries } from "../../util/objectEntries.js";
6
+ import { SchemaListViewItem } from "./SchemaListViewItem.js";
5
7
  import { SchemaListViewItemGroup } from "./SchemaListViewItemGroup.js";
6
8
  import { SchemaProseClasses } from "./util/prose.js";
7
9
  export const SchemaListView = ({ name, schema, level = 0, defaultOpen = false, }) => {
@@ -17,6 +19,9 @@ export const SchemaListView = ({ name, schema, level = 0, defaultOpen = false, }
17
19
  ? "required"
18
20
  : "optional";
19
21
  });
20
- return (_jsxs("div", { className: "flex flex-col gap-2.5", children: [(schema.title ?? name) && (_jsx("div", { className: "ml-2 my-1 font-bold", children: schema.title ?? name })), level === 0 && schema.description && (_jsx(Markdown, { className: SchemaProseClasses, content: schema.description })), _jsx("ul", { className: "border-border border rounded overflow-hidden", children: objectEntries(groups).map(([group, properties]) => (_jsx(SchemaListViewItemGroup, { defaultOpen: defaultOpen, group: group, nestingLevel: level, properties: properties ?? [], required: schema.required ?? [] }, group))) })] }));
22
+ if (schema.type === "array") {
23
+ return (_jsx(Card, { className: "overflow-hidden", children: _jsx(SchemaListViewItem, { propertyName: schema.title ?? name, isRequired: true, property: schema, defaultOpen: level === 0, nestingLevel: level }) }));
24
+ }
25
+ return (_jsxs("div", { className: "flex flex-col gap-2.5", children: [(schema.title ?? name) && (_jsx("div", { className: "ml-2 my-1 font-bold", children: schema.title ?? name })), level === 0 && schema.description && (_jsx(Markdown, { className: SchemaProseClasses, content: schema.description })), _jsx(Card, { className: "overflow-hidden", children: objectEntries(groups).map(([group, properties]) => (_jsx(SchemaListViewItemGroup, { defaultOpen: defaultOpen, group: group, nestingLevel: level, properties: properties ?? [], required: schema.required ?? [] }, group))) })] }));
21
26
  };
22
27
  //# sourceMappingURL=SchemaListView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaListView.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SchemaListView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,KAAK,GAAG,CAAC,EACT,WAAW,GAAG,KAAK,GAMpB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GACxB,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;QAC7C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAC1C,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAChE,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE;QACtE,OAAO,QAAQ,CAAC,UAAU;YACxB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACvC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACnC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CACzB,cAAK,SAAS,EAAC,qBAAqB,YAAE,MAAM,CAAC,KAAK,IAAI,IAAI,GAAO,CAClE,EACA,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,CACpC,KAAC,QAAQ,IAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,GAAI,CACzE,EACD,aAAI,SAAS,EAAC,8CAA8C,YACzD,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAClD,KAAC,uBAAuB,IAEtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,UAAU,IAAI,EAAE,EAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,IAL1B,KAAK,CAMV,CACH,CAAC,GACC,IACD,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SchemaListView.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SchemaListView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,KAAK,GAAG,CAAC,EACT,WAAW,GAAG,KAAK,GAMpB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GACxB,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;QAC7C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAC1C,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAChE,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE;QACtE,OAAO,QAAQ,CAAC,UAAU;YACxB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACvC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,YAC/B,KAAC,kBAAkB,IACjB,YAAY,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,EAClC,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,KAAK,KAAK,CAAC,EACxB,YAAY,EAAE,KAAK,GACnB,GACG,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACnC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CACzB,cAAK,SAAS,EAAC,qBAAqB,YAAE,MAAM,CAAC,KAAK,IAAI,IAAI,GAAO,CAClE,EACA,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,CACpC,KAAC,QAAQ,IAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,GAAI,CACzE,EACD,KAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,YAC9B,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAClD,KAAC,uBAAuB,IAEtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,UAAU,IAAI,EAAE,EAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,IAL1B,KAAK,CAMV,CACH,CAAC,GACG,IACH,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { SchemaObject } from "../../oas/parser/index.js";
2
- export declare const SchemaListViewItem: ({ propertyName, property, nestingLevel, isRequired, }: {
3
- propertyName: string;
2
+ export declare const SchemaListViewItem: ({ propertyName, property, nestingLevel, isRequired, defaultOpen, }: {
3
+ propertyName?: string;
4
4
  isRequired: boolean;
5
5
  property: SchemaObject;
6
6
  nestingLevel: number;
7
+ defaultOpen?: boolean;
7
8
  }) => import("react/jsx-runtime").JSX.Element;