zudoku 0.3.0-dev.82 → 0.3.0-dev.84

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 (192) 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.map +1 -1
  21. package/dist/lib/components/Heading.d.ts +1 -1
  22. package/dist/lib/components/Layout.js +2 -2
  23. package/dist/lib/components/Layout.js.map +1 -1
  24. package/dist/lib/components/TopNavigation.js +5 -5
  25. package/dist/lib/components/TopNavigation.js.map +1 -1
  26. package/dist/lib/components/context/DevPortalProvider.d.ts +9 -3
  27. package/dist/lib/components/context/DevPortalProvider.js +11 -23
  28. package/dist/lib/components/context/DevPortalProvider.js.map +1 -1
  29. package/dist/lib/components/context/ThemeContext.d.ts +1 -4
  30. package/dist/lib/components/context/ThemeContext.js +3 -29
  31. package/dist/lib/components/context/ThemeContext.js.map +1 -1
  32. package/dist/lib/components/context/ThemeProvider.d.ts +4 -0
  33. package/dist/lib/components/context/ThemeProvider.js +23 -0
  34. package/dist/lib/components/context/ThemeProvider.js.map +1 -0
  35. package/dist/lib/components/navigation/Sidebar.d.ts +1 -0
  36. package/dist/lib/components/navigation/Sidebar.js +12 -0
  37. package/dist/lib/components/navigation/Sidebar.js.map +1 -0
  38. package/dist/lib/components/navigation/SidebarBadge.d.ts +22 -0
  39. package/dist/lib/components/navigation/SidebarBadge.js +24 -0
  40. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -0
  41. package/dist/lib/components/navigation/SidebarCategory.d.ts +5 -0
  42. package/dist/lib/components/navigation/SidebarCategory.js +33 -0
  43. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -0
  44. package/dist/lib/components/navigation/SidebarItem.d.ts +12 -0
  45. package/dist/lib/components/navigation/SidebarItem.js +42 -0
  46. package/dist/lib/components/navigation/SidebarItem.js.map +1 -0
  47. package/dist/lib/components/navigation/{SideNavigationWrapper.d.ts → SidebarWrapper.d.ts} +1 -1
  48. package/dist/lib/components/navigation/{SideNavigationWrapper.js → SidebarWrapper.js} +2 -2
  49. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -0
  50. package/dist/lib/components/navigation/utils.d.ts +16 -0
  51. package/dist/lib/components/navigation/utils.js +85 -0
  52. package/dist/lib/components/navigation/utils.js.map +1 -0
  53. package/dist/lib/core/DevPortalContext.d.ts +9 -32
  54. package/dist/lib/core/DevPortalContext.js +8 -5
  55. package/dist/lib/core/DevPortalContext.js.map +1 -1
  56. package/dist/lib/core/plugins.d.ts +6 -8
  57. package/dist/lib/core/plugins.js.map +1 -1
  58. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +16 -2
  59. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  60. package/dist/lib/plugins/api-keys/index.js +6 -0
  61. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  62. package/dist/lib/plugins/markdown/MdxPage.js +5 -36
  63. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  64. package/dist/lib/plugins/markdown/generateRoutes.js +20 -43
  65. package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
  66. package/dist/lib/plugins/openapi/Sidecar.js +12 -2
  67. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  68. package/dist/lib/plugins/openapi/index.js +14 -11
  69. package/dist/lib/plugins/openapi/index.js.map +1 -1
  70. package/dist/lib/plugins/openapi/interfaces.d.ts +1 -1
  71. package/dist/lib/util/useScrollToAnchor.js +31 -17
  72. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  73. package/dist/vite/plugin-sidebar.d.ts +3 -0
  74. package/dist/vite/plugin-sidebar.js +23 -0
  75. package/dist/vite/plugin-sidebar.js.map +1 -0
  76. package/dist/vite/plugin.js +2 -0
  77. package/dist/vite/plugin.js.map +1 -1
  78. package/lib/{AuthenticationPlugin-XS0DoAhE.js → AuthenticationPlugin-DgwV0hVu.js} +7 -7
  79. package/lib/{AuthenticationPlugin-XS0DoAhE.js.map → AuthenticationPlugin-DgwV0hVu.js.map} +1 -1
  80. package/lib/{CategoryHeading-DCmchnA1.js → CategoryHeading-BWq12Bfa.js} +3 -3
  81. package/lib/{CategoryHeading-DCmchnA1.js.map → CategoryHeading-BWq12Bfa.js.map} +1 -1
  82. package/lib/{Combination-C442XfGG.js → Combination-DkycFHkm.js} +4 -4
  83. package/lib/{Combination-C442XfGG.js.map → Combination-DkycFHkm.js.map} +1 -1
  84. package/lib/{DevPortalProvider-BWeAysxF.js → DevPortalProvider-CTxoCHIT.js} +375 -417
  85. package/lib/DevPortalProvider-CTxoCHIT.js.map +1 -0
  86. package/lib/DeveloperHint-BQSFXH01.js +10 -0
  87. package/lib/{DeveloperHint-DQVwIery.js.map → DeveloperHint-BQSFXH01.js.map} +1 -1
  88. package/lib/{Input-3IEt27jb.js → Input-BclXSY0g.js} +5 -5
  89. package/lib/{Input-3IEt27jb.js.map → Input-BclXSY0g.js.map} +1 -1
  90. package/lib/{Markdown-QsZ-PHET.js → Markdown-B_Gax7at.js} +1136 -1152
  91. package/lib/{Markdown-QsZ-PHET.js.map → Markdown-B_Gax7at.js.map} +1 -1
  92. package/lib/{MdxPage-CA1WmW14.js → MdxPage-Crlr0GmN.js} +67 -81
  93. package/lib/MdxPage-Crlr0GmN.js.map +1 -0
  94. package/lib/{OperationList-CHK_erYP.js → OperationList-nQ0bd8TU.js} +8 -8
  95. package/lib/{OperationList-CHK_erYP.js.map → OperationList-nQ0bd8TU.js.map} +1 -1
  96. package/lib/Route-CNvxEBnR.js +14 -0
  97. package/lib/{Route-D70pGn9n.js.map → Route-CNvxEBnR.js.map} +1 -1
  98. package/lib/{SlotletProvider-B71hNEUL.js → SlotletProvider-CzMAO73_.js} +12 -12
  99. package/lib/{SlotletProvider-B71hNEUL.js.map → SlotletProvider-CzMAO73_.js.map} +1 -1
  100. package/lib/Spinner-fF-Xv-gw.js +274 -0
  101. package/lib/Spinner-fF-Xv-gw.js.map +1 -0
  102. package/lib/index-7kcHaXD6.js +1771 -0
  103. package/lib/index-7kcHaXD6.js.map +1 -0
  104. package/lib/{index-Bl6YeerK.js → index-CgCPw6Jn.js} +1026 -1043
  105. package/lib/index-CgCPw6Jn.js.map +1 -0
  106. package/lib/{index-BH-Ub36F.js → index-DkuZvRNP.js} +4 -4
  107. package/lib/{index-BH-Ub36F.js.map → index-DkuZvRNP.js.map} +1 -1
  108. package/lib/joinPath-VeNuJa7y.js +8 -0
  109. package/lib/joinPath-VeNuJa7y.js.map +1 -0
  110. package/lib/jsx-runtime-B6kdoens.js +635 -0
  111. package/lib/jsx-runtime-B6kdoens.js.map +1 -0
  112. package/lib/{AnchorLink-BZcpTwOs.js → utils-CzT_9Tsn.js} +258 -214
  113. package/lib/utils-CzT_9Tsn.js.map +1 -0
  114. package/lib/zudoku.auth-clerk.js +1 -1
  115. package/lib/zudoku.auth-openid.js +2 -2
  116. package/lib/zudoku.components.js +1229 -1227
  117. package/lib/zudoku.components.js.map +1 -1
  118. package/lib/zudoku.plugin-api-keys.js +129 -107
  119. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  120. package/lib/zudoku.plugin-custom-page.js +2 -2
  121. package/lib/zudoku.plugin-markdown.js +21 -38
  122. package/lib/zudoku.plugin-markdown.js.map +1 -1
  123. package/lib/zudoku.plugin-openapi.js +8 -6
  124. package/lib/zudoku.plugin-openapi.js.map +1 -1
  125. package/package.json +4 -1
  126. package/src/app/demo.tsx +5 -4
  127. package/src/app/main.css +2 -2
  128. package/src/app/main.tsx +3 -1
  129. package/src/app/standalone.tsx +5 -4
  130. package/src/lib/components/DevPortal.tsx +1 -1
  131. package/src/lib/components/Header.tsx +2 -2
  132. package/src/lib/components/Layout.tsx +2 -2
  133. package/src/lib/components/TopNavigation.tsx +5 -5
  134. package/src/lib/components/context/DevPortalProvider.ts +11 -28
  135. package/src/lib/components/context/ThemeContext.tsx +3 -41
  136. package/src/lib/components/context/ThemeProvider.tsx +27 -0
  137. package/src/lib/components/navigation/{SideNavigation.tsx → Sidebar.tsx} +7 -7
  138. package/src/lib/components/navigation/SidebarBadge.tsx +40 -0
  139. package/src/lib/components/navigation/SidebarCategory.tsx +105 -0
  140. package/src/lib/components/navigation/SidebarItem.tsx +96 -0
  141. package/src/lib/components/navigation/{SideNavigationWrapper.tsx → SidebarWrapper.tsx} +1 -1
  142. package/src/lib/components/navigation/utils.ts +120 -0
  143. package/src/lib/core/DevPortalContext.ts +12 -44
  144. package/src/lib/core/plugins.ts +6 -13
  145. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +31 -10
  146. package/src/lib/plugins/api-keys/index.tsx +10 -0
  147. package/src/lib/plugins/markdown/MdxPage.tsx +14 -50
  148. package/src/lib/plugins/markdown/generateRoutes.tsx +29 -57
  149. package/src/lib/plugins/openapi/Sidecar.tsx +15 -2
  150. package/src/lib/plugins/openapi/index.tsx +17 -23
  151. package/src/lib/plugins/openapi/interfaces.ts +1 -1
  152. package/src/lib/util/useScrollToAnchor.ts +39 -18
  153. package/dist/lib/components/navigation/SideNavigation.d.ts +0 -1
  154. package/dist/lib/components/navigation/SideNavigation.js +0 -12
  155. package/dist/lib/components/navigation/SideNavigation.js.map +0 -1
  156. package/dist/lib/components/navigation/SideNavigationCategory.d.ts +0 -4
  157. package/dist/lib/components/navigation/SideNavigationCategory.js +0 -26
  158. package/dist/lib/components/navigation/SideNavigationCategory.js.map +0 -1
  159. package/dist/lib/components/navigation/SideNavigationItem.d.ts +0 -9
  160. package/dist/lib/components/navigation/SideNavigationItem.js +0 -44
  161. package/dist/lib/components/navigation/SideNavigationItem.js.map +0 -1
  162. package/dist/lib/components/navigation/SideNavigationWrapper.js.map +0 -1
  163. package/dist/lib/components/navigation/useNavigationCollapsibleState.d.ts +0 -9
  164. package/dist/lib/components/navigation/useNavigationCollapsibleState.js +0 -28
  165. package/dist/lib/components/navigation/useNavigationCollapsibleState.js.map +0 -1
  166. package/dist/lib/components/navigation/util.d.ts +0 -8
  167. package/dist/lib/components/navigation/util.js +0 -15
  168. package/dist/lib/components/navigation/util.js.map +0 -1
  169. package/dist/lib/plugins/openapi/MethodBadge.d.ts +0 -13
  170. package/dist/lib/plugins/openapi/MethodBadge.js +0 -26
  171. package/dist/lib/plugins/openapi/MethodBadge.js.map +0 -1
  172. package/dist/lib/util/traverseNavigation.d.ts +0 -6
  173. package/dist/lib/util/traverseNavigation.js +0 -30
  174. package/dist/lib/util/traverseNavigation.js.map +0 -1
  175. package/lib/AnchorLink-BZcpTwOs.js.map +0 -1
  176. package/lib/DevPortalProvider-BWeAysxF.js.map +0 -1
  177. package/lib/DeveloperHint-DQVwIery.js +0 -10
  178. package/lib/MdxPage-CA1WmW14.js.map +0 -1
  179. package/lib/Route-D70pGn9n.js +0 -13
  180. package/lib/Spinner-Coi7ORUV.js +0 -244
  181. package/lib/Spinner-Coi7ORUV.js.map +0 -1
  182. package/lib/index-Bl6YeerK.js.map +0 -1
  183. package/lib/index-Dt-pU7Vu.js +0 -916
  184. package/lib/index-Dt-pU7Vu.js.map +0 -1
  185. package/lib/jsx-runtime-CJBdjYYx.js +0 -1526
  186. package/lib/jsx-runtime-CJBdjYYx.js.map +0 -1
  187. package/src/lib/components/navigation/SideNavigationCategory.tsx +0 -72
  188. package/src/lib/components/navigation/SideNavigationItem.tsx +0 -148
  189. package/src/lib/components/navigation/useNavigationCollapsibleState.ts +0 -42
  190. package/src/lib/components/navigation/util.ts +0 -38
  191. package/src/lib/plugins/openapi/MethodBadge.tsx +0 -36
  192. package/src/lib/util/traverseNavigation.ts +0 -55
@@ -1,5 +1,6 @@
1
1
  import z from "zod";
2
2
  import { fromError } from "zod-validation-error";
3
+ import { SidebarSchema } from "./SidebarSchema.js";
3
4
  const ThemeSchema = z
4
5
  .object({
5
6
  background: z.string(),
@@ -26,7 +27,7 @@ const ThemeSchema = z
26
27
  .partial();
27
28
  const ApiConfigSchema = z.object({
28
29
  server: z.string().optional(),
29
- path: z.string().optional(),
30
+ navigationId: z.string().optional(),
30
31
  });
31
32
  const ApiSchema = z.union([
32
33
  z
@@ -75,8 +76,11 @@ const ConfigSchema = z
75
76
  logo: LogoSchema,
76
77
  })
77
78
  .partial(),
78
- // TODO make better when refactoring navigation
79
- navigation: z.custom(),
79
+ topNavigation: z.array(z.object({
80
+ label: z.string(),
81
+ id: z.string(),
82
+ })),
83
+ sidebar: z.record(SidebarSchema),
80
84
  slotlets: z.record(z.string(), z.custom()),
81
85
  theme: z
82
86
  .object({
@@ -142,7 +146,21 @@ const ConfigSchema = z
142
146
  })),
143
147
  build: z.custom(),
144
148
  })
145
- .partial();
149
+ .partial()
150
+ .superRefine((config, ctx) => {
151
+ // check if sidebar ids are found in top navigation
152
+ if (!config.sidebar || !config.topNavigation)
153
+ return;
154
+ const topNavIds = config.topNavigation.map((item) => item.id);
155
+ const nonExistentKeys = Object.keys(config.sidebar).filter((key) => !topNavIds.includes(key));
156
+ if (nonExistentKeys.length > 0) {
157
+ ctx.addIssue({
158
+ code: z.ZodIssueCode.custom,
159
+ message: `Sidebar ID [${nonExistentKeys.map((v) => `"${v}"`).join(", ")}] not found in top navigation.
160
+ Following IDs are available: ${topNavIds.join(", ")}`,
161
+ });
162
+ }
163
+ });
146
164
  export function validateConfig(config) {
147
165
  const validationResult = ConfigSchema.safeParse(config);
148
166
  if (!validationResult.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQjD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,OAAO,EAAE,CAAC;AAEb,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,eAAe,CAAC;IACzB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACtD,KAAK,CAAC,eAAe,CAAC;IACzB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;SACtE,KAAK,CAAC,eAAe,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CACnC;QACD,OAAO,EAAE,CAAC;aACP,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,oBAAoB,EAAE,CAAC;aACpB,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;KACd,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,UAAU;KACjB,CAAC;SACD,OAAO,EAAE;IACZ,+CAA+C;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAoB;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAa,CAAC;IACrD,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;KAClB,CAAC;SACD,OAAO,EAAE;IACZ,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;SACD,OAAO,EAAE;IACZ,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAqB;KAC1C,CAAC;SACD,OAAO,EAAE;IACZ,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CACrE;YACD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9C,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9C,CAAC;KACH,CAAC;IACF,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,cAAc,EAAE,CAAC;aACd,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;YAChB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;SAC1B,CAAC;aACD,OAAO,EAAE;KACb,CAAC;SACD,OAAO,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,KAAK,CAClB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAA0B;KAC5C,CAAC,CACH;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAGX;CACL,CAAC;KACD,OAAO,EAAE,CAAC;AAIb,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export type { ZudokuConfig } from "./config/config.js";
2
- export type { NavigationCategory, NavigationCategoryItem, NavigationItem, } from "./lib/core/DevPortalContext.js";
2
+ export type { Sidebar } from "./config/validators/SidebarSchema.js";
3
3
  export type { MDXImport } from "./lib/plugins/markdown/index.js";
@@ -13,7 +13,7 @@ import { MdxComponents } from "../util/MdxComponents.js";
13
13
  import "../util/requestIdleCallbackPolyfill.js";
14
14
  import { ComponentsProvider, DEFAULT_COMPONENTS, } from "./context/ComponentsContext.js";
15
15
  import { DevPortalProvider } from "./context/DevPortalProvider.js";
16
- import { ThemeProvider } from "./context/ThemeContext.js";
16
+ import { ThemeProvider } from "./context/ThemeProvider.js";
17
17
  import { ViewportAnchorProvider } from "./context/ViewportAnchorContext.js";
18
18
  import { SlotletProvider } from "./SlotletProvider.js";
19
19
  export const DevPortalSystemPaths = {
@@ -1 +1 @@
1
- {"version":3,"file":"DevPortal.js","sourceRoot":"","sources":["../../../src/lib/components/DevPortal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevPortal.js","sourceRoot":"","sources":["../../../src/lib/components/DevPortal.tsx"],"names":[],"mappings":"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"}
@@ -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":"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"}
@@ -1,7 +1,7 @@
1
1
  import React, { type ReactNode } from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const heading: (props?: ({
4
- level?: 2 | 1 | 6 | 5 | 4 | 3 | null | undefined;
4
+ level?: 2 | 1 | 3 | 6 | 5 | 4 | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export interface HeadingProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof heading> {
7
7
  children: ReactNode;
@@ -8,7 +8,7 @@ import { useScrollToTop } from "../util/useScrollToTop.js";
8
8
  import { useDevPortal } from "./context/DevPortalProvider.js";
9
9
  import { useViewportAnchor } from "./context/ViewportAnchorContext.js";
10
10
  import { Header } from "./Header.js";
11
- import { SideNavigation } from "./navigation/SideNavigation.js";
11
+ import { Sidebar } from "./navigation/Sidebar.js";
12
12
  import { Slotlet } from "./SlotletProvider.js";
13
13
  import { Spinner } from "./Spinner.js";
14
14
  export const Layout = ({ children }) => {
@@ -25,6 +25,6 @@ export const Layout = ({ children }) => {
25
25
  }
26
26
  previousLocationPath.current = location.pathname;
27
27
  }, [location.pathname, setActiveAnchor]);
28
- return (_jsxs(_Fragment, { children: [_jsxs(Helmet, { titleTemplate: meta?.title, children: [meta?.description && (_jsx("meta", { name: "description", content: meta.description })), meta?.favicon && _jsx("link", { rel: "icon", href: meta.favicon })] }), _jsx(Header, {}), _jsx("div", { className: "max-w-screen-2xl mx-auto pt-[--header-height] px-10 lg:px-12 h-full", children: _jsxs(Suspense, { fallback: _jsx("div", { className: "grid h-full place-items-center", children: _jsx(Spinner, {}) }), children: [_jsx(SideNavigation, {}), _jsxs("main", { className: cn("dark:border-white/10 translate-x-0 h-full", "lg:overflow-visible", "lg:peer-data-[navigation=true]:w-[calc(100%-var(--side-nav-width))]", "lg:peer-data-[navigation=true]:translate-x-[--side-nav-width] lg:peer-data-[navigation=true]:pl-12"), children: [_jsx(Slotlet, { name: "zudoku-before-content" }), children ?? _jsx(Outlet, {}), _jsx(Slotlet, { name: "zudoku-after-content" })] })] }) })] }));
28
+ return (_jsxs(_Fragment, { children: [_jsxs(Helmet, { titleTemplate: meta?.title, children: [meta?.description && (_jsx("meta", { name: "description", content: meta.description })), meta?.favicon && _jsx("link", { rel: "icon", href: meta.favicon })] }), _jsx(Header, {}), _jsx("div", { className: "max-w-screen-2xl mx-auto pt-[--header-height] px-10 lg:px-12 h-full", children: _jsxs(Suspense, { fallback: _jsx("div", { className: "grid h-full place-items-center", children: _jsx(Spinner, {}) }), children: [_jsx(Sidebar, {}), _jsxs("main", { className: cn("dark:border-white/10 translate-x-0 h-full", "lg:overflow-visible", "lg:peer-data-[navigation=true]:w-[calc(100%-var(--side-nav-width))]", "lg:peer-data-[navigation=true]:translate-x-[--side-nav-width] lg:peer-data-[navigation=true]:pl-12"), children: [_jsx(Slotlet, { name: "zudoku-before-content" }), children ?? _jsx(Outlet, {}), _jsx(Slotlet, { name: "zudoku-after-content" })] })] }) })] }));
29
29
  };
30
30
  //# sourceMappingURL=Layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAA4B,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAEhC,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IAEjB,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACvD,eAAe,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAEzC,OAAO,CACL,8BACE,MAAC,MAAM,IAAC,aAAa,EAAE,IAAI,EAAE,KAAK,aAC/B,IAAI,EAAE,WAAW,IAAI,CACpB,eAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAI,CACvD,EACA,IAAI,EAAE,OAAO,IAAI,eAAM,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAI,IAClD,EACT,KAAC,MAAM,KAAG,EAEV,cAAK,SAAS,EAAC,qEAAqE,YAClF,MAAC,QAAQ,IACP,QAAQ,EACN,cAAK,SAAS,EAAC,gCAAgC,YAC7C,KAAC,OAAO,KAAG,GACP,aAGR,KAAC,cAAc,KAAG,EAClB,gBACE,SAAS,EAAE,EAAE,CACX,2CAA2C,EAC3C,qBAAqB,EACrB,qEAAqE,EACrE,oGAAoG,CACrG,aAED,KAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,EACvC,QAAQ,IAAI,KAAC,MAAM,KAAG,EACvB,KAAC,OAAO,IAAC,IAAI,EAAC,sBAAsB,GAAG,IAClC,IACE,GACP,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAA4B,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAEhC,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IAEjB,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACvD,eAAe,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAEzC,OAAO,CACL,8BACE,MAAC,MAAM,IAAC,aAAa,EAAE,IAAI,EAAE,KAAK,aAC/B,IAAI,EAAE,WAAW,IAAI,CACpB,eAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAI,CACvD,EACA,IAAI,EAAE,OAAO,IAAI,eAAM,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAI,IAClD,EACT,KAAC,MAAM,KAAG,EAEV,cAAK,SAAS,EAAC,qEAAqE,YAClF,MAAC,QAAQ,IACP,QAAQ,EACN,cAAK,SAAS,EAAC,gCAAgC,YAC7C,KAAC,OAAO,KAAG,GACP,aAGR,KAAC,OAAO,KAAG,EACX,gBACE,SAAS,EAAE,EAAE,CACX,2CAA2C,EAC3C,qBAAqB,EACrB,qEAAqE,EACrE,oGAAoG,CACrG,aAED,KAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,EACvC,QAAQ,IAAI,KAAC,MAAM,KAAG,EACvB,KAAC,OAAO,IAAC,IAAI,EAAC,sBAAsB,GAAG,IAClC,IACE,GACP,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -3,13 +3,13 @@ import { cx } from "class-variance-authority";
3
3
  import { NavLink } from "react-router-dom";
4
4
  import { useDevPortal } from "./context/DevPortalProvider.js";
5
5
  export const TopNavigation = () => {
6
- const { navigation } = useDevPortal();
7
- // Hide tope nav if there is only one item
8
- if (navigation.length <= 1) {
6
+ const { topNavigation } = useDevPortal();
7
+ // Hide top nav if there is only one item
8
+ if (topNavigation.length <= 1) {
9
9
  return null;
10
10
  }
11
- return (_jsx("nav", { className: "border-b text-sm px-12 h-[--top-nav-height]", children: _jsx("ul", { className: "flex flex-row items-center gap-8", children: navigation.map((item) => (_jsx("li", { children: _jsx(NavLink, { className: ({ isActive }) => cx("block py-3.5 font-medium -mb-px border-b-2", isActive
11
+ return (_jsx("nav", { className: "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
12
  ? "border-primary text-foreground"
13
- : "border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25"), to: item.path, children: item.label }) }, item.label))) }) }));
13
+ : "border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25"), to: item.id, children: item.label }) }, item.label))) }) }));
14
14
  };
15
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,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;IAEtC,0CAA0C;IAC1C,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,6CAA6C,YAC1D,aAAI,SAAS,EAAC,kCAAkC,YAC7C,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,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,IAAI,YAEZ,IAAI,CAAC,KAAK,GACH,IAbH,IAAI,CAAC,KAAK,CAcd,CACN,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC,CAAC"}
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,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC;IAEzC,yCAAyC;IACzC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,6CAA6C,YAC1D,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,8 +2,14 @@ import { DevPortalContext } from "../../core/DevPortalContext.js";
2
2
  export declare const DevPortalProvider: import("react").Provider<DevPortalContext | undefined>;
3
3
  export declare const useDevPortal: () => DevPortalContext;
4
4
  export declare const useApiIdentities: () => import("@tanstack/react-query").UseQueryResult<import("../../core/DevPortalContext.js").ApiIdentity[], Error>;
5
- export declare const useTopNavigationItem: () => import("../../core/DevPortalContext.js").NavigationItem | undefined;
5
+ export declare const useTopNavigationItem: () => {
6
+ id: string;
7
+ label: string;
8
+ } | undefined;
6
9
  export declare const useNavigation: () => import("@tanstack/react-query").UseSuspenseQueryResult<{
7
- items: import("../../core/DevPortalContext.js").NavigationCategory[];
8
- currentTopNavItem: import("../../core/DevPortalContext.js").NavigationItem | undefined;
10
+ items: import("../../../config/validators/ResolvedSidebarSchema.js").ResolvedSidebarItem[];
11
+ currentTopNavItem: {
12
+ id: string;
13
+ label: string;
14
+ } | undefined;
9
15
  }, Error>;
@@ -1,7 +1,6 @@
1
1
  import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
2
2
  import { createContext, useContext } from "react";
3
- import { matchPath, useLocation } from "react-router-dom";
4
- import { traverseNavigation } from "../../util/traverseNavigation.js";
3
+ import { useLocation } from "react-router-dom";
5
4
  const DevPortalReactContext = createContext(undefined);
6
5
  export const DevPortalProvider = DevPortalReactContext.Provider;
7
6
  export const useDevPortal = () => {
@@ -19,34 +18,23 @@ export const useApiIdentities = () => {
19
18
  });
20
19
  };
21
20
  export const useTopNavigationItem = () => {
22
- const { navigation } = useDevPortal();
21
+ const { topNavigation } = useDevPortal();
23
22
  const location = useLocation();
24
- // The `/` path needs this logic because it would always match:
25
- // Only if a leaf node actually matches the current path it is active
26
- for (const item of navigation) {
27
- const foundNavItem = traverseNavigation(item, (_node, fullPath) => {
28
- if (location.pathname === fullPath) {
29
- return item;
30
- }
31
- });
32
- if (foundNavItem) {
33
- return foundNavItem;
34
- }
35
- }
36
- if (location.pathname === "/") {
37
- return navigation.find((item) => item.path === "/");
38
- }
39
- return navigation.find((item) => item.path !== "/" &&
40
- matchPath({ path: item.path, end: false }, location.pathname));
23
+ const firstPart = location.pathname.split("/").at(1);
24
+ if (!firstPart)
25
+ return;
26
+ return topNavigation.find((item) => item.id === firstPart);
41
27
  };
42
28
  export const useNavigation = () => {
43
- const { getNavigation } = useDevPortal();
29
+ const { getPluginNavigation, sidebars } = useDevPortal();
44
30
  const navItem = useTopNavigationItem();
45
- const path = navItem?.path ?? "";
31
+ const path = navItem?.id;
32
+ const currentSidebar = path ? sidebars[path] ?? [] : [];
46
33
  return useSuspenseQuery({
47
34
  queryFn: async () => {
35
+ const pluginSidebar = path ? await getPluginNavigation(path) : [];
48
36
  return {
49
- items: [...(navItem?.categories ?? []), ...(await getNavigation(path))],
37
+ items: [...currentSidebar, ...pluginSidebar],
50
38
  currentTopNavItem: navItem,
51
39
  };
52
40
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DevPortalProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/DevPortalProvider.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,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,MAAM,qBAAqB,GAAG,aAAa,CACzC,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAElD,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,YAAY,EAAE,CAAC;IAC5C,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,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,+DAA+D;IAC/D,qEAAqE;IACrE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,GAAG;QACjB,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IAEjC,OAAO,gBAAgB,CAAC;QACtB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvE,iBAAiB,EAAE,OAAO;aAC3B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"DevPortalProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/DevPortalProvider.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,qBAAqB,GAAG,aAAa,CACzC,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAElD,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,YAAY,EAAE,CAAC;IAC5C,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,YAAY,EAAE,CAAC;IACzC,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,mBAAmB,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,OAAO,gBAAgB,CAAC;QACtB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,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"}
@@ -1,5 +1,2 @@
1
- import { type ReactNode } from "react";
1
+ export declare const ThemeContext: import("react").Context<readonly [boolean, () => void]>;
2
2
  export declare const useTheme: () => readonly [boolean, () => void];
3
- export declare const ThemeProvider: (props: {
4
- children: ReactNode;
5
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,33 +1,7 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useEffect, useState, } from "react";
3
- const ThemeContext = createContext([
1
+ import { createContext, useContext } from "react";
2
+ export const ThemeContext = createContext([
4
3
  false,
5
4
  () => { },
6
5
  ]);
7
- export const useTheme = () => {
8
- const context = useContext(ThemeContext);
9
- if (!context) {
10
- throw new Error("useTheme must be used within a ThemeProvider");
11
- }
12
- return context;
13
- };
14
- export const ThemeProvider = (props) => {
15
- const [dark, setDark] = useState(false);
16
- // On mount, read the preferred theme from the persistence
17
- useEffect(() => {
18
- const theme = localStorage.getItem("theme");
19
- const prefersDark = window.matchMedia("(prefers-color-scheme: dark)");
20
- const isDark = theme === "dark" || (!theme && prefersDark.matches);
21
- setDark(isDark);
22
- }, [dark]);
23
- // To toggle between dark and light modes
24
- const toggle = useCallback(() => {
25
- const toggled = !dark;
26
- document.documentElement.classList.toggle("dark", toggled);
27
- localStorage.setItem("theme", toggled ? "dark" : "light");
28
- setDark(toggled);
29
- }, [dark]);
30
- const value = [dark, toggle];
31
- return _jsx(ThemeContext.Provider, { value: value, ...props });
32
- };
6
+ export const useTheme = () => useContext(ThemeContext);
33
7
  //# sourceMappingURL=ThemeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ThemeContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,MAAM,YAAY,GAAG,aAAa,CAAiC;IACjE,KAAK;IACL,GAAG,EAAE,GAAE,CAAC;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,yCAAyC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;QACtB,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,CAAU,CAAC;IAEtC,OAAO,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,KAAM,KAAK,GAAI,CAAC;AAC5D,CAAC,CAAC"}
1
+ {"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAiC;IACxE,KAAK;IACL,GAAG,EAAE,GAAE,CAAC;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from "react";
2
+ export declare const ThemeProvider: (props: {
3
+ children: ReactNode;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ import { ThemeContext } from "./ThemeContext.js";
4
+ export const ThemeProvider = (props) => {
5
+ const [dark, setDark] = useState(false);
6
+ // On mount, read the preferred theme from the persistence
7
+ useEffect(() => {
8
+ const theme = localStorage.getItem("theme");
9
+ const prefersDark = window.matchMedia("(prefers-color-scheme: dark)");
10
+ const isDark = theme === "dark" || (!theme && prefersDark.matches);
11
+ setDark(isDark);
12
+ }, [dark]);
13
+ // To toggle between dark and light modes
14
+ const toggle = useCallback(() => {
15
+ const toggled = !dark;
16
+ document.documentElement.classList.toggle("dark", toggled);
17
+ localStorage.setItem("theme", toggled ? "dark" : "light");
18
+ setDark(toggled);
19
+ }, [dark]);
20
+ const value = [dark, toggle];
21
+ return _jsx(ThemeContext.Provider, { value: value, ...props });
22
+ };
23
+ //# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ThemeProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,yCAAyC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;QACtB,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,CAAU,CAAC;IAEtC,OAAO,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,KAAM,KAAK,GAAI,CAAC;AAC5D,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const Sidebar: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useNavigation } from "../context/DevPortalProvider.js";
4
+ import { Slotlet } from "../SlotletProvider.js";
5
+ import { SidebarItem } from "./SidebarItem.js";
6
+ import { SidebarWrapper } from "./SidebarWrapper.js";
7
+ export const Sidebar = () => {
8
+ const navRef = useRef(null);
9
+ const navigation = useNavigation();
10
+ return (_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" })] }));
11
+ };
12
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +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,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,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,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,CAClB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ export declare const TextColorMap: {
2
+ green: string;
3
+ blue: string;
4
+ yellow: string;
5
+ red: string;
6
+ purple: string;
7
+ indigo: string;
8
+ gray: string;
9
+ };
10
+ export declare const ColorMap: {
11
+ green: string;
12
+ blue: string;
13
+ yellow: string;
14
+ red: string;
15
+ purple: string;
16
+ indigo: string;
17
+ gray: string;
18
+ };
19
+ export declare const SidebarBadge: ({ color, label, }: {
20
+ color: keyof typeof ColorMap;
21
+ label: string;
22
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../util/cn.js";
3
+ export const TextColorMap = {
4
+ green: "text-green-600",
5
+ blue: "text-sky-600",
6
+ yellow: "text-yellow-600",
7
+ red: "text-red-600",
8
+ purple: "text-purple-600",
9
+ indigo: "text-indigo-600",
10
+ gray: "text-gray-600",
11
+ };
12
+ export const ColorMap = {
13
+ green: "bg-green-400 dark:bg-green-800",
14
+ blue: "bg-sky-400 dark:bg-sky-800",
15
+ yellow: "bg-yellow-400 dark:bg-yellow-800",
16
+ red: "bg-red-400 dark:bg-red-800",
17
+ purple: "bg-purple-400 dark:bg-purple-600",
18
+ indigo: "bg-indigo-400 dark:bg-indigo-600",
19
+ gray: "bg-gray-400 dark:bg-gray-600",
20
+ };
21
+ export const SidebarBadge = ({ color, label, }) => {
22
+ return (_jsx("span", { className: cn("mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1", ColorMap[color]), children: label }));
23
+ };
24
+ //# sourceMappingURL=SidebarBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarBadge.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,eAAe;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,gCAAgC;IACvC,IAAI,EAAE,4BAA4B;IAClC,MAAM,EAAE,kCAAkC;IAC1C,GAAG,EAAE,4BAA4B;IACjC,MAAM,EAAE,kCAAkC;IAC1C,MAAM,EAAE,kCAAkC;IAC1C,IAAI,EAAE,8BAA8B;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,KAAK,EACL,KAAK,GAIN,EAAE,EAAE;IACH,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,sKAAsK,EACtK,QAAQ,CAAC,KAAK,CAAC,CAChB,YAEA,KAAK,GACD,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ResolvedSidebarItemCategory } from "../../../config/validators/ResolvedSidebarSchema.js";
2
+ export declare const SidebarCategory: ({ category, level, }: {
3
+ category: ResolvedSidebarItemCategory;
4
+ level: number;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Collapsible from "@radix-ui/react-collapsible";
3
+ import { ChevronRightIcon } from "lucide-react";
4
+ import { useEffect, useState } from "react";
5
+ import { NavLink } from "react-router-dom";
6
+ import { cn } from "../../util/cn.js";
7
+ import { joinPath } from "../../util/joinPath.js";
8
+ import { useTopNavigationItem } from "../context/DevPortalProvider.js";
9
+ import { navigationListItem, SidebarItem } from "./SidebarItem.js";
10
+ import { useIsCategoryOpen } from "./utils.js";
11
+ export const SidebarCategory = ({ category, level, }) => {
12
+ const topNavItem = useTopNavigationItem();
13
+ const isCategoryOpen = useIsCategoryOpen(category);
14
+ const isCollapsible = category.collapsible ?? true;
15
+ const isCollapsed = category.collapsed ?? true;
16
+ const isDefaultOpen = Boolean(!isCollapsible || !isCollapsed || isCategoryOpen);
17
+ const [open, setOpen] = useState(isDefaultOpen);
18
+ useEffect(() => {
19
+ // this is triggered when an item from the sidebar is clicked
20
+ // and the sidebar, enclosing this item, is not opened
21
+ if (isCategoryOpen) {
22
+ setOpen(true);
23
+ }
24
+ }, [isCategoryOpen]);
25
+ const ToggleButton = isCollapsible && (_jsx("button", { type: "button", onClick: (e) => {
26
+ e.preventDefault();
27
+ setOpen((prev) => !prev);
28
+ }, children: _jsx(ChevronRightIcon, { size: 16, className: "transition shrink-0 group-data-[state=open]:rotate-90" }) }));
29
+ 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: cn("group text-start", navigationListItem({ isActive: false, isTopLevel: level === 0 }), isCollapsible
30
+ ? "cursor-pointer"
31
+ : "cursor-default hover:bg-transparent"), asChild: true, disabled: !isCollapsible, children: category.link?.type === "doc" ? (_jsx(NavLink, { to: joinPath(topNavItem?.id, category.link.id), children: ({ isActive }) => (_jsxs("div", { className: cn("flex items-center gap-2 justify-between w-full", isActive ? "text-primary font-medium" : "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: "CollapsibleContent ms-[calc(var(--padding-nav-item)*1.125)]", children: _jsx("ul", { className: "mt-1 border-l ps-2", children: category.items.map((item) => (_jsx(SidebarItem, { level: level + 1, item: item }, item.label))) }) })] }));
32
+ };
33
+ //# sourceMappingURL=SidebarCategory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ResolvedSidebarItem } from "../../../config/validators/ResolvedSidebarSchema.js";
2
+ export declare const navigationListItem: (props?: ({
3
+ isTopLevel?: boolean | null | undefined;
4
+ isActive?: boolean | null | undefined;
5
+ isMuted?: boolean | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export declare const DATA_ANCHOR_ATTR = "data-anchor";
8
+ export declare const SidebarItem: ({ item, level, }: {
9
+ item: ResolvedSidebarItem;
10
+ basePath?: string;
11
+ level?: number;
12
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cva } from "class-variance-authority";
3
+ import { ExternalLinkIcon } from "lucide-react";
4
+ import { NavLink } from "react-router-dom";
5
+ import { cn } from "../../util/cn.js";
6
+ import { joinPath } from "../../util/joinPath.js";
7
+ import { AnchorLink } from "../AnchorLink.js";
8
+ import { useTopNavigationItem } from "../context/DevPortalProvider.js";
9
+ import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
10
+ import { SidebarBadge } from "./SidebarBadge.js";
11
+ import { SidebarCategory } from "./SidebarCategory.js";
12
+ export const navigationListItem = cva("flex px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent transition-colors duration-300", {
13
+ variants: {
14
+ isTopLevel: {
15
+ true: "font-semibold",
16
+ },
17
+ isActive: {
18
+ true: "text-primary font-medium",
19
+ false: "text-foreground/80",
20
+ },
21
+ isMuted: {
22
+ true: "text-foreground/30",
23
+ false: "",
24
+ },
25
+ },
26
+ });
27
+ export const DATA_ANCHOR_ATTR = "data-anchor";
28
+ export const SidebarItem = ({ item, level = 0, }) => {
29
+ const topNavItem = useTopNavigationItem();
30
+ const { activeAnchor } = useViewportAnchor();
31
+ switch (item.type) {
32
+ case "category":
33
+ return _jsx(SidebarCategory, { category: item, level: level });
34
+ case "doc":
35
+ return (_jsxs(NavLink, { className: ({ isActive }) => navigationListItem({ isActive, isTopLevel: level === 0 }), to: joinPath(topNavItem?.id, item.id), children: [item.label, item.badge && _jsx(SidebarBadge, { ...item.badge })] }));
36
+ case "link":
37
+ return item.href.startsWith("#") ? (_jsxs(AnchorLink, { to: item.href, [DATA_ANCHOR_ATTR]: item.href.slice(1), className: cn("flex gap-2.5 justify-between", level === 0 && "-mx-[--padding-nav-item]", navigationListItem({
38
+ isActive: item.href.slice(1) === activeAnchor,
39
+ })), children: [item.label, item.badge && _jsx(SidebarBadge, { ...item.badge })] })) : (_jsxs("a", { className: cn(navigationListItem({ isTopLevel: level === 0 }), "block"), href: item.href, target: "_blank", rel: "noopener noreferrer", children: [_jsx("span", { className: "whitespace-normal", children: item.label }), _jsxs("span", { className: "whitespace-nowrap", children: ["\u00A0", _jsx(ExternalLinkIcon, { className: "inline ml-1", size: 12 })] })] }));
40
+ }
41
+ };
42
+ //# sourceMappingURL=SidebarItem.js.map
@@ -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"}