zudoku 0.0.0-eff6f9b → 0.0.0-f1a6fd4

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 (268) hide show
  1. package/README.md +121 -0
  2. package/dist/app/main.js +3 -3
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/cli/dev/handler.js +2 -2
  5. package/dist/cli/dev/handler.js.map +1 -1
  6. package/dist/config/config.d.ts +2 -1
  7. package/dist/config/validators/InputSidebarSchema.d.ts +1 -0
  8. package/dist/config/validators/validate.d.ts +42 -23
  9. package/dist/config/validators/validate.js +6 -2
  10. package/dist/config/validators/validate.js.map +1 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/lib/authentication/state.d.ts +16 -0
  13. package/dist/lib/authentication/state.js +5 -0
  14. package/dist/lib/authentication/state.js.map +1 -1
  15. package/dist/lib/components/Banner.js +7 -1
  16. package/dist/lib/components/Banner.js.map +1 -1
  17. package/dist/lib/components/ErrorPage.js +1 -2
  18. package/dist/lib/components/ErrorPage.js.map +1 -1
  19. package/dist/lib/components/Header.js +1 -1
  20. package/dist/lib/components/Header.js.map +1 -1
  21. package/dist/lib/components/InlineCode.d.ts +2 -1
  22. package/dist/lib/components/InlineCode.js +9 -1
  23. package/dist/lib/components/InlineCode.js.map +1 -1
  24. package/dist/lib/components/Layout.js +1 -1
  25. package/dist/lib/components/Layout.js.map +1 -1
  26. package/dist/lib/components/MobileTopNavigation.js +2 -1
  27. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  28. package/dist/lib/components/Search.js +1 -1
  29. package/dist/lib/components/Search.js.map +1 -1
  30. package/dist/lib/components/SlotletProvider.d.ts +9 -2
  31. package/dist/lib/components/SlotletProvider.js +4 -2
  32. package/dist/lib/components/SlotletProvider.js.map +1 -1
  33. package/dist/lib/components/index.d.ts +2 -1
  34. package/dist/lib/components/index.js.map +1 -1
  35. package/dist/lib/core/DevPortalContext.d.ts +1 -1
  36. package/dist/lib/oas/graphql/index.d.ts +2 -1
  37. package/dist/lib/oas/graphql/index.js +23 -15
  38. package/dist/lib/oas/graphql/index.js.map +1 -1
  39. package/dist/lib/oas/parser/index.d.ts +1 -0
  40. package/dist/lib/oas/parser/index.js.map +1 -1
  41. package/dist/lib/plugins/custom-pages/CustomPage.d.ts +2 -0
  42. package/dist/lib/plugins/custom-pages/CustomPage.js +11 -0
  43. package/dist/lib/plugins/custom-pages/CustomPage.js.map +1 -0
  44. package/dist/lib/plugins/custom-pages/index.d.ts +10 -0
  45. package/dist/lib/plugins/custom-pages/index.js +11 -0
  46. package/dist/lib/plugins/custom-pages/index.js.map +1 -0
  47. package/dist/lib/plugins/markdown/MdxPage.js +2 -2
  48. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  49. package/dist/lib/plugins/openapi/Endpoint.d.ts +1 -3
  50. package/dist/lib/plugins/openapi/Endpoint.js +46 -8
  51. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  52. package/dist/lib/plugins/openapi/OperationList.js +2 -2
  53. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  54. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +2 -1
  55. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
  56. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  57. package/dist/lib/plugins/openapi/Route.d.ts +1 -1
  58. package/dist/lib/plugins/openapi/Route.js +1 -1
  59. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  60. package/dist/lib/plugins/openapi/Sidecar.js +15 -4
  61. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  62. package/dist/lib/plugins/openapi/SimpleSelect.d.ts +2 -1
  63. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  64. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  65. package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
  66. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
  67. package/dist/lib/plugins/openapi/client/createWorkerClient.js +1 -1
  68. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -1
  69. package/dist/lib/plugins/openapi/graphql/gql.d.ts +10 -2
  70. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  71. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  72. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +26 -0
  73. package/dist/lib/plugins/openapi/graphql/graphql.js +87 -0
  74. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  75. package/dist/lib/plugins/openapi/index.js +3 -2
  76. package/dist/lib/plugins/openapi/index.js.map +1 -1
  77. package/dist/lib/plugins/openapi/playground/Playground.d.ts +2 -1
  78. package/dist/lib/plugins/openapi/playground/Playground.js +13 -5
  79. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  80. package/dist/lib/plugins/openapi/playground/ResponseTab.js +1 -1
  81. package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +1 -1
  82. package/dist/lib/plugins/openapi/playground/createUrl.js +3 -1
  83. package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -1
  84. package/dist/lib/ui/Callout.d.ts +36 -35
  85. package/dist/lib/ui/Callout.js.map +1 -1
  86. package/dist/lib/ui/Drawer.d.ts +8 -10
  87. package/dist/lib/ui/Drawer.js.map +1 -1
  88. package/dist/lib/util/useExposedProps.d.ts +2 -0
  89. package/dist/lib/util/useExposedProps.js +8 -0
  90. package/dist/lib/util/useExposedProps.js.map +1 -0
  91. package/dist/vite/config.d.ts +1 -1
  92. package/dist/vite/config.js +21 -15
  93. package/dist/vite/config.js.map +1 -1
  94. package/dist/vite/dev-server.d.ts +6 -1
  95. package/dist/vite/dev-server.js +14 -4
  96. package/dist/vite/dev-server.js.map +1 -1
  97. package/dist/vite/plugin-api.js +4 -7
  98. package/dist/vite/plugin-api.js.map +1 -1
  99. package/dist/vite/plugin-component.js +0 -1
  100. package/dist/vite/plugin-component.js.map +1 -1
  101. package/dist/vite/plugin-config-reload.js +9 -4
  102. package/dist/vite/plugin-config-reload.js.map +1 -1
  103. package/dist/vite/plugin-custom-pages.d.ts +4 -0
  104. package/dist/vite/plugin-custom-pages.js +30 -0
  105. package/dist/vite/plugin-custom-pages.js.map +1 -0
  106. package/dist/vite/plugin-frontmatter.d.ts +2 -0
  107. package/dist/vite/plugin-frontmatter.js +30 -0
  108. package/dist/vite/plugin-frontmatter.js.map +1 -0
  109. package/dist/vite/plugin-mdx.js +3 -0
  110. package/dist/vite/plugin-mdx.js.map +1 -1
  111. package/dist/vite/plugin-sidebar.js +14 -1
  112. package/dist/vite/plugin-sidebar.js.map +1 -1
  113. package/dist/vite/plugin.js +4 -2
  114. package/dist/vite/plugin.js.map +1 -1
  115. package/lib/{AuthenticationPlugin-gtf8JS3V.js → AuthenticationPlugin-CbgJ5SAh.js} +3 -3
  116. package/lib/{AuthenticationPlugin-gtf8JS3V.js.map → AuthenticationPlugin-CbgJ5SAh.js.map} +1 -1
  117. package/lib/{CategoryHeading-XnFqN2lJ.js → CategoryHeading-3Qtp2yZ8.js} +2 -2
  118. package/lib/{CategoryHeading-XnFqN2lJ.js.map → CategoryHeading-3Qtp2yZ8.js.map} +1 -1
  119. package/lib/{DeveloperHint-FBb2uXJe.js → DeveloperHint-BE9DzNhv.js} +2 -2
  120. package/lib/{DeveloperHint-FBb2uXJe.js.map → DeveloperHint-BE9DzNhv.js.map} +1 -1
  121. package/lib/ErrorPage-B0COs372.js +16 -0
  122. package/lib/ErrorPage-B0COs372.js.map +1 -0
  123. package/lib/Input-CHfE_2Qk.js +2229 -0
  124. package/lib/Input-CHfE_2Qk.js.map +1 -0
  125. package/lib/{Markdown-B4aR03g6.js → Markdown-CWI6lU11.js} +1448 -1286
  126. package/lib/Markdown-CWI6lU11.js.map +1 -0
  127. package/lib/{MdxPage-BcftTg5g.js → MdxPage-C3tlrV4j.js} +24 -24
  128. package/lib/MdxPage-C3tlrV4j.js.map +1 -0
  129. package/lib/{OperationList-Da36LrGl.js → OperationList-BO-ES1C5.js} +149 -108
  130. package/lib/OperationList-BO-ES1C5.js.map +1 -0
  131. package/lib/{Route-CWj1ECzh.js → Route-Dq6zv0Pi.js} +3 -4
  132. package/lib/Route-Dq6zv0Pi.js.map +1 -0
  133. package/lib/SidebarBadge-DmI5hT04.js +503 -0
  134. package/lib/SidebarBadge-DmI5hT04.js.map +1 -0
  135. package/lib/{SlotletProvider-DJMaOUDs.js → SlotletProvider-RvaeLR6z.js} +43 -42
  136. package/lib/{SlotletProvider-DJMaOUDs.js.map → SlotletProvider-RvaeLR6z.js.map} +1 -1
  137. package/lib/ZudokuContext-BEmsYQoq.js +1173 -0
  138. package/lib/ZudokuContext-BEmsYQoq.js.map +1 -0
  139. package/lib/assets/{index-B9EWVYfo.js → index-B_Jk_Yzp.js} +968 -938
  140. package/lib/assets/index-B_Jk_Yzp.js.map +1 -0
  141. package/lib/assets/{worker-TYRbYl6N.js → worker-Bf8vjASY.js} +6768 -4410
  142. package/lib/assets/worker-Bf8vjASY.js.map +1 -0
  143. package/lib/{index-BG0g4WW0.js → index-BRCiYFaL.js} +747 -737
  144. package/lib/index-BRCiYFaL.js.map +1 -0
  145. package/lib/{index-CLd8ycZz.js → index-CkwDvuPt.js} +947 -917
  146. package/lib/index-CkwDvuPt.js.map +1 -0
  147. package/lib/index-D06ATMgg.js +2094 -0
  148. package/lib/index-D06ATMgg.js.map +1 -0
  149. package/lib/index-DJqnphbT.js +35 -0
  150. package/lib/index-DJqnphbT.js.map +1 -0
  151. package/lib/{index-DIkaYL-l.js → index-DNfiZTPV.js} +1956 -1676
  152. package/lib/index-DNfiZTPV.js.map +1 -0
  153. package/lib/{index-BoXX7LeD.js → index-Do_BBSIs.js} +597 -544
  154. package/lib/index-Do_BBSIs.js.map +1 -0
  155. package/lib/{index-B_9xr661.js → index-Dvh1BL_e.js} +3 -3
  156. package/lib/{index-B_9xr661.js.map → index-Dvh1BL_e.js.map} +1 -1
  157. package/lib/joinPath-B7kNnUX4.js +8 -0
  158. package/lib/joinPath-B7kNnUX4.js.map +1 -0
  159. package/lib/router-Oe6YmY6B.js +3024 -0
  160. package/lib/router-Oe6YmY6B.js.map +1 -0
  161. package/lib/state-CsuHT8ZO.js +183 -0
  162. package/lib/state-CsuHT8ZO.js.map +1 -0
  163. package/lib/urql-core-KJnLL26g.js +1455 -0
  164. package/lib/urql-core-KJnLL26g.js.map +1 -0
  165. package/lib/useExposedProps-Csw8oAlt.js +9 -0
  166. package/lib/useExposedProps-Csw8oAlt.js.map +1 -0
  167. package/lib/{utils-DtEHoAvg.js → utils-Chi3p5nE.js} +101 -104
  168. package/lib/utils-Chi3p5nE.js.map +1 -0
  169. package/lib/zudoku.auth-auth0.js +1 -1
  170. package/lib/zudoku.auth-clerk.js +2 -2
  171. package/lib/zudoku.auth-openid.js +363 -350
  172. package/lib/zudoku.auth-openid.js.map +1 -1
  173. package/lib/zudoku.components.js +1695 -1621
  174. package/lib/zudoku.components.js.map +1 -1
  175. package/lib/zudoku.openapi-worker.js +4671 -4383
  176. package/lib/zudoku.openapi-worker.js.map +1 -1
  177. package/lib/zudoku.plugin-api-keys.js +7 -7
  178. package/lib/zudoku.plugin-custom-pages.js +21 -0
  179. package/lib/zudoku.plugin-custom-pages.js.map +1 -0
  180. package/lib/zudoku.plugin-markdown.js +1 -1
  181. package/lib/zudoku.plugin-openapi.js +10 -9
  182. package/lib/zudoku.plugin-openapi.js.map +1 -1
  183. package/lib/zudoku.plugin-redirect.js +1 -1
  184. package/package.json +71 -69
  185. package/src/app/main.tsx +3 -3
  186. package/src/lib/authentication/state.ts +17 -0
  187. package/src/lib/components/Banner.tsx +12 -2
  188. package/src/lib/components/ErrorPage.tsx +0 -2
  189. package/src/lib/components/Header.tsx +4 -2
  190. package/src/lib/components/InlineCode.tsx +10 -0
  191. package/src/lib/components/Layout.tsx +2 -1
  192. package/src/lib/components/MobileTopNavigation.tsx +4 -0
  193. package/src/lib/components/Search.tsx +1 -1
  194. package/src/lib/components/SlotletProvider.tsx +27 -4
  195. package/src/lib/components/index.ts +1 -1
  196. package/src/lib/core/DevPortalContext.ts +1 -1
  197. package/src/lib/oas/graphql/index.ts +35 -23
  198. package/src/lib/oas/parser/index.ts +1 -0
  199. package/src/lib/plugins/custom-pages/CustomPage.tsx +18 -0
  200. package/src/lib/plugins/custom-pages/index.tsx +24 -0
  201. package/src/lib/plugins/markdown/MdxPage.tsx +2 -2
  202. package/src/lib/plugins/openapi/Endpoint.tsx +86 -22
  203. package/src/lib/plugins/openapi/OperationList.tsx +4 -2
  204. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -0
  205. package/src/lib/plugins/openapi/Route.tsx +1 -2
  206. package/src/lib/plugins/openapi/Sidecar.tsx +18 -3
  207. package/src/lib/plugins/openapi/SimpleSelect.tsx +10 -2
  208. package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -6
  209. package/src/lib/plugins/openapi/client/createWorkerClient.ts +1 -6
  210. package/src/lib/plugins/openapi/graphql/gql.ts +11 -3
  211. package/src/lib/plugins/openapi/graphql/graphql.ts +113 -1
  212. package/src/lib/plugins/openapi/index.tsx +3 -6
  213. package/src/lib/plugins/openapi/playground/Playground.tsx +39 -5
  214. package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -1
  215. package/src/lib/plugins/openapi/playground/createUrl.ts +6 -1
  216. package/src/lib/ui/Callout.tsx +7 -6
  217. package/src/lib/ui/Drawer.tsx +38 -36
  218. package/src/lib/util/useExposedProps.tsx +10 -0
  219. package/dist/lib/plugins/custom-page/index.d.ts +0 -8
  220. package/dist/lib/plugins/custom-page/index.js +0 -12
  221. package/dist/lib/plugins/custom-page/index.js.map +0 -1
  222. package/dist/lib/plugins/openapi/playground/Editor.d.ts +0 -1
  223. package/dist/lib/plugins/openapi/playground/Editor.js +0 -5
  224. package/dist/lib/plugins/openapi/playground/Editor.js.map +0 -1
  225. package/dist/lib/plugins/openapi/util/urql.d.ts +0 -7
  226. package/dist/lib/plugins/openapi/util/urql.js +0 -8
  227. package/dist/lib/plugins/openapi/util/urql.js.map +0 -1
  228. package/dist/lib/util/slugify.d.ts +0 -2
  229. package/dist/lib/util/slugify.js +0 -3
  230. package/dist/lib/util/slugify.js.map +0 -1
  231. package/dist/vite/plugin-icons.d.ts +0 -3
  232. package/dist/vite/plugin-icons.js +0 -47
  233. package/dist/vite/plugin-icons.js.map +0 -1
  234. package/lib/ErrorPage-knunPbKI.js +0 -18
  235. package/lib/ErrorPage-knunPbKI.js.map +0 -1
  236. package/lib/Input-B1kkVL1R.js +0 -2198
  237. package/lib/Input-B1kkVL1R.js.map +0 -1
  238. package/lib/Markdown-B4aR03g6.js.map +0 -1
  239. package/lib/MdxPage-BcftTg5g.js.map +0 -1
  240. package/lib/OperationList-Da36LrGl.js.map +0 -1
  241. package/lib/Route-CWj1ECzh.js.map +0 -1
  242. package/lib/SidebarBadge-DdvT2qep.js +0 -498
  243. package/lib/SidebarBadge-DdvT2qep.js.map +0 -1
  244. package/lib/ZudokuContext-em1gHkIY.js +0 -1084
  245. package/lib/ZudokuContext-em1gHkIY.js.map +0 -1
  246. package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
  247. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  248. package/lib/assets/index-B9EWVYfo.js.map +0 -1
  249. package/lib/assets/worker-TYRbYl6N.js.map +0 -1
  250. package/lib/index-BG0g4WW0.js.map +0 -1
  251. package/lib/index-BoXX7LeD.js.map +0 -1
  252. package/lib/index-CLd8ycZz.js.map +0 -1
  253. package/lib/index-DIkaYL-l.js.map +0 -1
  254. package/lib/router-D2p7Olpn.js +0 -2971
  255. package/lib/router-D2p7Olpn.js.map +0 -1
  256. package/lib/slugify-DbLhpSPt.js +0 -28
  257. package/lib/slugify-DbLhpSPt.js.map +0 -1
  258. package/lib/state-BUM4jc0J.js +0 -288
  259. package/lib/state-BUM4jc0J.js.map +0 -1
  260. package/lib/urql-YhcsXYy8.js +0 -1591
  261. package/lib/urql-YhcsXYy8.js.map +0 -1
  262. package/lib/utils-DtEHoAvg.js.map +0 -1
  263. package/lib/zudoku.plugin-custom-page.js +0 -13
  264. package/lib/zudoku.plugin-custom-page.js.map +0 -1
  265. package/src/lib/plugins/custom-page/index.tsx +0 -22
  266. package/src/lib/plugins/openapi/playground/Editor.tsx +0 -4
  267. package/src/lib/plugins/openapi/util/urql.ts +0 -8
  268. package/src/lib/util/slugify.ts +0 -3
package/README.md ADDED
@@ -0,0 +1,121 @@
1
+ <div align=center>
2
+
3
+ <a href="https://zudoku.dev" alt="Zudoku">
4
+ <img src="./assets/github-hero.png" width=630 alt="Zudoku Docs & Developer Portal">
5
+ </a>
6
+
7
+ [![MIT License](https://img.shields.io/badge/license-mit-green?style=flat&labelColor=000000)](https://github.com/zuplo/zudoku/license.md) [![Zudoku Version](https://img.shields.io/npm/v/zudoku.svg?style=flat&labelColor=000000)](https://www.npmjs.com/package/zudoku) [![Create Zudoku App Version](https://img.shields.io/npm/v/create-zudoku-app?label=cli&style=flat&labelColor=000000)](https://www.npmjs.com/package/create-zudoku-app) [![Made with love by Zuplo](https://img.shields.io/badge/Made%20by%20Zuplo-FF00BD.svg?style=flat&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAzNyAzMiIgYXJpYS1oaWRkZW49InRydWUiPgogIDxwYXRoIGZpbGw9IiNGRjAwQkQiIGQ9Ik0yNy4xNDIgMTkuOTc4SDE2LjYyTDI3LjgzIDguNzQ2YS43NTguNzU4IDAgMDAtLjUzNC0xLjI5M0g5LjQ4OFYwaDE5LjUzNGE3LjU3MyA3LjU3MyAwIDAxNC4wNjUgMS4xMjUgNy41OTEgNy41OTEgMCAwMTIuODM2IDMuMTI2IDcuNDAyIDcuNDAyIDAgMDEtMS40NjEgOC4zOThsLTcuMzIgNy4zMjh6Ii8+CiAgPHBhdGggZmlsbD0iI0ZGMDBCRCIgZD0iTTkuNDg5IDExLjA0MmgxMC41MjRsLTExLjE5IDExLjIxYS43NzIuNzcyIDAgMDAuNTQzIDEuMzE2aDE3Ljc1OXY3LjQ1Mkg3LjYxYTcuNTc0IDcuNTc0IDAgMDEtNC4wNjUtMS4xMjVBNy41OTMgNy41OTMgMCAwMS43MSAyNi43NjhhNy40MDMgNy40MDMgMCAwMTEuNDYyLTguMzk3bDcuMzE4LTcuMzI5eiIvPgo8L3N2Zz4K&labelColor=000)](https://zuplo.com)
8
+
9
+ </div>
10
+
11
+ # Zudoku
12
+
13
+ API documentation should always be free.
14
+
15
+ <a href="#-installation"><strong>Installation</strong></a> · <a href="https://zudoku.dev/docs/app-quickstart"><strong>Docs</strong></a> · <a href="#-examples"><strong>Examples</strong></a> · <a href="#-contributing--community"><strong>Contributing</strong></a> · <a href="#-motivation"><strong>Motivation</strong></a>
16
+
17
+ ## Introduction
18
+
19
+ **Zudoku** (pronounced "zoo-doh-koo") is an open-source, highly customizable API documentation framework for building quality developer experiences around OpenAPI and, soon, GraphQL documents.
20
+
21
+ Because great API documentation frameworks should be:
22
+
23
+ 🌍 Free & Open Source<br /> ✅ OpenAPI powered<br /> 🔩 Extensible with Plugins<br /> ⚡ Easy to setup & blazing fast to work with<br /> 🔧 Easy to maintain
24
+
25
+ ## 🤩 Try it, right now!
26
+
27
+ You can test Zudoku with your own OpenAPI document at [zudoku.dev](https://zudoku.dev?utm_source=github&utm_medium=web&utm_content=link&ref=github) and see how good your documentation can look!
28
+
29
+ ## ✨ Features
30
+
31
+ - 🚀 Generate documentation from a single or multiple [OpenAPI](https://swagger.io/specification/) schema
32
+ - 📄 Create [MDX pages](https://mdxjs.com/) for anything you want to document
33
+ - 🔐 Integrate your users with authentication via OpenID or OAuth2
34
+ - 🧪 Let users test their API calls using the Integrated Playground (includes authentication!)
35
+ - 🌑 Dark mode (of course!)
36
+
37
+ Zudoku is quick to implement, easy to configure and is highly composable with sensible defaults.
38
+
39
+ ## ⚙️ Installation
40
+
41
+ You can use the CLI to generate a new project or use it standalone via CDN as a React component.
42
+
43
+ ### ⚡️ Quick start
44
+
45
+ Fire up your new API docs using the command line generator:
46
+
47
+ ```
48
+ npm create zudoku-app@latest
49
+ ```
50
+
51
+ ### 📦 Standalone via CDN
52
+
53
+ Add the package and styles to your `<head>` and pass the URL for your API schema to the `data-api-url` property, as shown here:
54
+
55
+ ```html
56
+ <!doctype html>
57
+ <html>
58
+ <head>
59
+ <title>Zudoku Demo</title>
60
+ <meta charset="UTF-8" />
61
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
62
+
63
+ <link rel="icon" type="image/svg+xml" href="https://cdn.zudoku.dev/logos/favicon.svg" />
64
+ <script type="module" src="https://cdn.zudoku.dev/latest/main.js" crossorigin></script>
65
+ <link rel="stylesheet" href="https://cdn.zudoku.dev/latest/style.css" crossorigin />
66
+ </head>
67
+ <body>
68
+ <div data-api-url="https://api.example.com/openapi.json"></div>
69
+ </body>
70
+ </html>
71
+ ```
72
+
73
+ ### 🧱 Getting started templates
74
+
75
+ To get started with some of the features Zudoku offers you can use one of these [example templates](https://github.com/zuplo/zudoku/tree/main/examples):
76
+
77
+ | Template | What it does |
78
+ | --------------------------------------------------------------------------------------- | ----------------------------------------------------- |
79
+ | [many-apis](https://github.com/zuplo/zudoku/tree/main/examples/many-apis) | Using more than one OpenAPI document with Zudoku |
80
+ | [with-auth0](https://github.com/zuplo/zudoku/tree/main/examples/with-auth0) | Authenticate users in docs with the Auth0 plugin |
81
+ | [with-config](https://github.com/zuplo/zudoku/tree/main/examples/with-config) | Barebones config, ready for you to setup how you like |
82
+ | [with-vite-config](https://github.com/zuplo/zudoku/tree/main/examples/with-vite-config) | Use Zudoku with your Vite config (Advanced) |
83
+
84
+ ## 🎓 Examples
85
+
86
+ - [Rick & Morty API](https://zudoku.dev/demo?api-url=https://rickandmorty.zuplo.io/openapi.json)
87
+ - [Pet Store API](https://zudoku.dev/demo?api-url=https://zudoku.dev/petstore.oas.json)
88
+ - [Zuplo API Documentation](https://docs-zudoku.pages.dev/)
89
+
90
+ ### Zudoku use cases
91
+
92
+ Zudoku is a flexible and highly customizable framework that can be used to create many things, including:
93
+
94
+ - Standalone documentation websites
95
+ - OpenAPI powered API references
96
+ - A developer portal with documentation, fully functional API reference for testing and authentication support for your user accounts.
97
+ - Internal documentation
98
+
99
+ ## 🔧 Contributing & Community
100
+
101
+ For details on how to contribute to Zudoku, see the [contributing guide](CONTRIBUTING.md).
102
+
103
+ ## Changelog
104
+
105
+ Details of the latest updates to Zudoku can be found in the [changelog](CHANGELOG.md).
106
+
107
+ ## 🎯 Motivation
108
+
109
+ At Zuplo, we couldn’t find an open-source solution that met our high standards for both trustworthiness and programmability, so we decided to create our own. And since no one chooses Zuplo solely because of our documentation, we felt great about open-sourcing this tool and making it easy for anyone to self-host.
110
+
111
+ We hope that if you use it, you’ll think fondly of Zuplo, and one day, when you’re looking for a gateway or API management product, you’ll consider us as a vendor to evaluate.
112
+
113
+ Zudoku will always be open-source. It will always be free.
114
+
115
+ ## License
116
+
117
+ Zudoku is licensed under MIT. See the full [license](LICENSE.md).
118
+
119
+ <a href="https://twitter.com/zuplo">
120
+ <img alt="X (formerly Twitter) Follow" src="https://img.shields.io/twitter/follow/zuplo">
121
+ </a>
package/dist/app/main.js CHANGED
@@ -3,13 +3,13 @@ import { redirect } from "react-router-dom";
3
3
  import { configuredApiKeysPlugin } from "virtual:zudoku-api-keys-plugin";
4
4
  import { configuredApiPlugins } from "virtual:zudoku-api-plugins";
5
5
  import { configuredAuthProvider } from "virtual:zudoku-auth";
6
+ import { configuredCustomPagesPlugin } from "virtual:zudoku-custom-pages-plugin";
6
7
  import { configuredDocsPlugins } from "virtual:zudoku-docs-plugins";
7
8
  import { configuredRedirectPlugin } from "virtual:zudoku-redirect-plugin";
8
9
  import { configuredSidebar } from "virtual:zudoku-sidebar";
9
10
  import "virtual:zudoku-theme.css";
10
11
  import { DevPortal, Layout, RouterError } from "zudoku/components";
11
12
  import { isNavigationPlugin } from "zudoku/internal";
12
- import { customPagePlugin } from "zudoku/plugins/custom-page";
13
13
  import { inkeepSearchPlugin } from "zudoku/plugins/search-inkeep";
14
14
  import { traverseSidebar } from "../lib/components/navigation/utils.js";
15
15
  import { joinPath } from "../lib/util/joinPath.js";
@@ -33,7 +33,7 @@ export const convertZudokuConfigToOptions = (config) => {
33
33
  },
34
34
  },
35
35
  },
36
- slotlets: config.slotlets,
36
+ slotlets: config.UNSAFE_slotlets,
37
37
  metadata: {
38
38
  favicon: "https://cdn.zudoku.dev/logos/favicon.svg",
39
39
  title: "%s - Zudoku",
@@ -51,7 +51,7 @@ export const convertZudokuConfigToOptions = (config) => {
51
51
  ...configuredApiPlugins,
52
52
  ...(configuredRedirectPlugin ? [configuredRedirectPlugin] : []),
53
53
  ...(configuredApiKeysPlugin ? [configuredApiKeysPlugin] : []),
54
- ...(config.customPages ? [customPagePlugin(config.customPages)] : []),
54
+ ...(configuredCustomPagesPlugin ? [configuredCustomPagesPlugin] : []),
55
55
  ...(configuredAuthProvider?.getAuthenticationPlugin
56
56
  ? [configuredAuthProvider.getAuthenticationPlugin()]
57
57
  : []),
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":"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"}
@@ -14,11 +14,11 @@ export async function dev(argv) {
14
14
  }
15
15
  const dir = path.resolve(process.cwd(), argv.dir);
16
16
  const server = new DevServer({ dir, port, ssr: argv.ssr });
17
- await server.start();
17
+ const { vite } = await server.start();
18
18
  printDiagnosticsToConsole("Started development server");
19
19
  printDiagnosticsToConsole("Ctrl+C to exit");
20
20
  printDiagnosticsToConsole("");
21
- printDiagnosticsToConsole(`🚀 Zudoku Portal: http://${host}:${port}`);
21
+ printDiagnosticsToConsole(`🚀 Zudoku Portal: http://${host}:${port}${vite.config.base.replace(/\/$/, "")}`);
22
22
  printDiagnosticsToConsole("");
23
23
  let hasExited = false;
24
24
  return new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cli/dev/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAe;IACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC;QACZ,OAAO,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAC3D,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,yBAAyB,CAAC,4BAA4B,CAAC,CAAC;IACxD,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,4BAA4B,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACtE,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE9B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,SAAS,IAAI;YACX,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;qBACH,IAAI,EAAE;qBACN,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBAC1C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACP,CAAC;QACH,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;YACpC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACvC,KAAK,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACxC,KAAK,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cli/dev/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAe;IACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC;QACZ,OAAO,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAC3D,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAEtC,yBAAyB,CAAC,4BAA4B,CAAC,CAAC;IACxD,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CACvB,4BAA4B,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CACjF,CAAC;IACF,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE9B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,SAAS,IAAI;YACX,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;qBACH,IAAI,EAAE;qBACN,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBAC1C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACP,CAAC;QACH,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;YACpC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACvC,KAAK,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACxC,KAAK,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { ZudokuConfig } from "./validators/validate.js";
2
+ import type { LoadedConfig } from "../vite/config.js";
2
3
  export type URLString = `https://${string}` | `http://${string}`;
3
4
  export { type ZudokuConfig };
4
- export interface ZudokuPluginOptions extends ZudokuConfig {
5
+ export interface ZudokuPluginOptions extends LoadedConfig {
5
6
  rootDir: string;
6
7
  moduleDir: string;
7
8
  mode: "internal" | "module" | "standalone";
@@ -183,3 +183,4 @@ export type InputSidebarItemCategory = z.infer<typeof BaseInputSidebarItemCatego
183
183
  export declare const InputSidebarItemCategorySchema: z.ZodType<InputSidebarItemCategory>;
184
184
  export declare const InputSidebarSchema: z.ZodArray<z.ZodType<InputSidebarItem, z.ZodTypeDef, InputSidebarItem>, "many">;
185
185
  export type InputSidebar = z.infer<typeof InputSidebarSchema>;
186
+ export type ConfigSidebar = Record<string, InputSidebar>;
@@ -1,7 +1,8 @@
1
1
  import type { Options } from "@mdx-js/rollup";
2
- import type { ReactNode } from "react";
2
+ import type { ComponentType, ReactNode } from "react";
3
3
  import type { DevPortalPlugin } from "src/lib/core/plugins.js";
4
- import z from "zod";
4
+ import z, { type ZodEnumDef, ZodOptional, ZodString, ZodType, ZodUnion } from "zod";
5
+ import type { ExposedComponentProps } from "../../lib/components/SlotletProvider.js";
5
6
  import { DevPortalContext } from "../../lib/core/DevPortalContext.js";
6
7
  import type { ApiKey } from "../../lib/plugins/api-keys/index.js";
7
8
  declare const ApiSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
@@ -119,6 +120,10 @@ declare const DocsConfigSchema: z.ZodObject<{
119
120
  disablePager?: boolean | undefined;
120
121
  } | undefined;
121
122
  }>;
123
+ type BannerColorType = ZodOptional<ZodUnion<[
124
+ ZodType<"note" | "tip" | "info" | "caution" | "danger" | (string & {}), ZodEnumDef>,
125
+ ZodString
126
+ ]>>;
122
127
  declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
123
128
  basePath: z.ZodOptional<z.ZodOptional<z.ZodString>>;
124
129
  page: z.ZodOptional<z.ZodObject<{
@@ -154,21 +159,21 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
154
159
  }>>;
155
160
  banner: z.ZodOptional<z.ZodOptional<z.ZodObject<{
156
161
  message: z.ZodType<NonNullable<ReactNode>, z.ZodTypeDef, NonNullable<ReactNode>>;
157
- color: z.ZodOptional<z.ZodEnum<["note", "tip", "info", "caution", "danger"]>>;
162
+ color: BannerColorType;
158
163
  dismissible: z.ZodOptional<z.ZodBoolean>;
159
164
  }, "strip", z.ZodTypeAny, {
160
165
  message: NonNullable<ReactNode>;
161
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
166
+ color?: string | (string & {}) | undefined;
162
167
  dismissible?: boolean | undefined;
163
168
  }, {
164
169
  message: NonNullable<ReactNode>;
165
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
170
+ color?: string | (string & {}) | undefined;
166
171
  dismissible?: boolean | undefined;
167
172
  }>>>;
168
173
  }, "strip", z.ZodTypeAny, {
169
174
  banner?: {
170
175
  message: NonNullable<ReactNode>;
171
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
176
+ color?: string | (string & {}) | undefined;
172
177
  dismissible?: boolean | undefined;
173
178
  } | undefined;
174
179
  pageTitle?: string | undefined;
@@ -184,7 +189,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
184
189
  }, {
185
190
  banner?: {
186
191
  message: NonNullable<ReactNode>;
187
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
192
+ color?: string | (string & {}) | undefined;
188
193
  dismissible?: boolean | undefined;
189
194
  } | undefined;
190
195
  pageTitle?: string | undefined;
@@ -212,7 +217,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
212
217
  default?: string | undefined;
213
218
  }>, "many">>;
214
219
  sidebar: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodType<import("./InputSidebarSchema.js").InputSidebarItem, z.ZodTypeDef, import("./InputSidebarSchema.js").InputSidebarItem>, "many">>>;
215
- slotlets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ReactNode, z.ZodTypeDef, ReactNode>>>;
220
+ UNSAFE_slotlets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ReactNode | ComponentType<ExposedComponentProps>, z.ZodTypeDef, ReactNode | ComponentType<ExposedComponentProps>>>>;
216
221
  theme: z.ZodOptional<z.ZodObject<{
217
222
  light: z.ZodOptional<z.ZodObject<{
218
223
  background: z.ZodOptional<z.ZodString>;
@@ -731,13 +736,19 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
731
736
  }>, "many">>;
732
737
  customPages: z.ZodOptional<z.ZodArray<z.ZodObject<{
733
738
  path: z.ZodString;
734
- element: z.ZodType<NonNullable<ReactNode>, z.ZodTypeDef, NonNullable<ReactNode>>;
739
+ element: z.ZodOptional<z.ZodType<NonNullable<ReactNode>, z.ZodTypeDef, NonNullable<ReactNode>>>;
740
+ render: z.ZodOptional<z.ZodType<ComponentType<ExposedComponentProps>, z.ZodTypeDef, ComponentType<ExposedComponentProps>>>;
741
+ prose: z.ZodOptional<z.ZodBoolean>;
735
742
  }, "strip", z.ZodTypeAny, {
736
743
  path: string;
737
- element: NonNullable<ReactNode>;
744
+ element?: NonNullable<ReactNode> | undefined;
745
+ render?: ComponentType<ExposedComponentProps> | undefined;
746
+ prose?: boolean | undefined;
738
747
  }, {
739
748
  path: string;
740
- element: NonNullable<ReactNode>;
749
+ element?: NonNullable<ReactNode> | undefined;
750
+ render?: ComponentType<ExposedComponentProps> | undefined;
751
+ prose?: boolean | undefined;
741
752
  }>, "many">>;
742
753
  plugins: z.ZodOptional<z.ZodArray<z.ZodType<DevPortalPlugin, z.ZodTypeDef, DevPortalPlugin>, "many">>;
743
754
  sitemap: z.ZodOptional<z.ZodOptional<z.ZodObject<{
@@ -859,7 +870,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
859
870
  page?: {
860
871
  banner?: {
861
872
  message: NonNullable<ReactNode>;
862
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
873
+ color?: string | (string & {}) | undefined;
863
874
  dismissible?: boolean | undefined;
864
875
  } | undefined;
865
876
  pageTitle?: string | undefined;
@@ -894,9 +905,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
894
905
  redirectToAfterSignOut?: string | undefined;
895
906
  audience?: string | undefined;
896
907
  } | undefined;
897
- slotlets?: Record<string, ReactNode> | undefined;
898
908
  basePath?: string | undefined;
899
909
  sidebar?: Record<string, import("./InputSidebarSchema.js").InputSidebarItem[]> | undefined;
910
+ UNSAFE_slotlets?: Record<string, ReactNode | ComponentType<ExposedComponentProps>> | undefined;
900
911
  mdx?: {
901
912
  components?: Readonly<import("mdx/types.js").MDXComponents> | import("node_modules/@mdx-js/react/lib/index.js").MergeComponents | null | undefined;
902
913
  } | undefined;
@@ -961,7 +972,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
961
972
  }[] | undefined;
962
973
  customPages?: {
963
974
  path: string;
964
- element: NonNullable<ReactNode>;
975
+ element?: NonNullable<ReactNode> | undefined;
976
+ render?: ComponentType<ExposedComponentProps> | undefined;
977
+ prose?: boolean | undefined;
965
978
  }[] | undefined;
966
979
  sitemap?: {
967
980
  siteUrl: string;
@@ -1046,7 +1059,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1046
1059
  page?: {
1047
1060
  banner?: {
1048
1061
  message: NonNullable<ReactNode>;
1049
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
1062
+ color?: string | (string & {}) | undefined;
1050
1063
  dismissible?: boolean | undefined;
1051
1064
  } | undefined;
1052
1065
  pageTitle?: string | undefined;
@@ -1081,9 +1094,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1081
1094
  redirectToAfterSignOut?: string | undefined;
1082
1095
  audience?: string | undefined;
1083
1096
  } | undefined;
1084
- slotlets?: Record<string, ReactNode> | undefined;
1085
1097
  basePath?: string | undefined;
1086
1098
  sidebar?: Record<string, import("./InputSidebarSchema.js").InputSidebarItem[]> | undefined;
1099
+ UNSAFE_slotlets?: Record<string, ReactNode | ComponentType<ExposedComponentProps>> | undefined;
1087
1100
  mdx?: {
1088
1101
  components?: Readonly<import("mdx/types.js").MDXComponents> | import("node_modules/@mdx-js/react/lib/index.js").MergeComponents | null | undefined;
1089
1102
  } | undefined;
@@ -1148,7 +1161,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1148
1161
  }[] | undefined;
1149
1162
  customPages?: {
1150
1163
  path: string;
1151
- element: NonNullable<ReactNode>;
1164
+ element?: NonNullable<ReactNode> | undefined;
1165
+ render?: ComponentType<ExposedComponentProps> | undefined;
1166
+ prose?: boolean | undefined;
1152
1167
  }[] | undefined;
1153
1168
  sitemap?: {
1154
1169
  siteUrl: string;
@@ -1233,7 +1248,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1233
1248
  page?: {
1234
1249
  banner?: {
1235
1250
  message: NonNullable<ReactNode>;
1236
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
1251
+ color?: string | (string & {}) | undefined;
1237
1252
  dismissible?: boolean | undefined;
1238
1253
  } | undefined;
1239
1254
  pageTitle?: string | undefined;
@@ -1268,9 +1283,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1268
1283
  redirectToAfterSignOut?: string | undefined;
1269
1284
  audience?: string | undefined;
1270
1285
  } | undefined;
1271
- slotlets?: Record<string, ReactNode> | undefined;
1272
1286
  basePath?: string | undefined;
1273
1287
  sidebar?: Record<string, import("./InputSidebarSchema.js").InputSidebarItem[]> | undefined;
1288
+ UNSAFE_slotlets?: Record<string, ReactNode | ComponentType<ExposedComponentProps>> | undefined;
1274
1289
  mdx?: {
1275
1290
  components?: Readonly<import("mdx/types.js").MDXComponents> | import("node_modules/@mdx-js/react/lib/index.js").MergeComponents | null | undefined;
1276
1291
  } | undefined;
@@ -1335,7 +1350,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1335
1350
  }[] | undefined;
1336
1351
  customPages?: {
1337
1352
  path: string;
1338
- element: NonNullable<ReactNode>;
1353
+ element?: NonNullable<ReactNode> | undefined;
1354
+ render?: ComponentType<ExposedComponentProps> | undefined;
1355
+ prose?: boolean | undefined;
1339
1356
  }[] | undefined;
1340
1357
  sitemap?: {
1341
1358
  siteUrl: string;
@@ -1420,7 +1437,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1420
1437
  page?: {
1421
1438
  banner?: {
1422
1439
  message: NonNullable<ReactNode>;
1423
- color?: "note" | "tip" | "info" | "caution" | "danger" | undefined;
1440
+ color?: string | (string & {}) | undefined;
1424
1441
  dismissible?: boolean | undefined;
1425
1442
  } | undefined;
1426
1443
  pageTitle?: string | undefined;
@@ -1455,9 +1472,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1455
1472
  redirectToAfterSignOut?: string | undefined;
1456
1473
  audience?: string | undefined;
1457
1474
  } | undefined;
1458
- slotlets?: Record<string, ReactNode> | undefined;
1459
1475
  basePath?: string | undefined;
1460
1476
  sidebar?: Record<string, import("./InputSidebarSchema.js").InputSidebarItem[]> | undefined;
1477
+ UNSAFE_slotlets?: Record<string, ReactNode | ComponentType<ExposedComponentProps>> | undefined;
1461
1478
  mdx?: {
1462
1479
  components?: Readonly<import("mdx/types.js").MDXComponents> | import("node_modules/@mdx-js/react/lib/index.js").MergeComponents | null | undefined;
1463
1480
  } | undefined;
@@ -1522,7 +1539,9 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
1522
1539
  }[] | undefined;
1523
1540
  customPages?: {
1524
1541
  path: string;
1525
- element: NonNullable<ReactNode>;
1542
+ element?: NonNullable<ReactNode> | undefined;
1543
+ render?: ComponentType<ExposedComponentProps> | undefined;
1544
+ prose?: boolean | undefined;
1526
1545
  }[] | undefined;
1527
1546
  sitemap?: {
1528
1547
  siteUrl: string;
@@ -132,6 +132,7 @@ const ConfigSchema = z
132
132
  message: z.custom(),
133
133
  color: z
134
134
  .enum(["note", "tip", "info", "caution", "danger"])
135
+ .or(z.string())
135
136
  .optional(),
136
137
  dismissible: z.boolean().optional(),
137
138
  })
@@ -144,7 +145,8 @@ const ConfigSchema = z
144
145
  default: z.string().optional(),
145
146
  })),
146
147
  sidebar: z.record(InputSidebarSchema),
147
- slotlets: z.record(z.string(), z.custom()),
148
+ // slotlets are a concept we are working on and not yet finalized
149
+ UNSAFE_slotlets: z.record(z.string(), z.custom()),
148
150
  theme: z
149
151
  .object({
150
152
  light: ThemeSchema,
@@ -203,7 +205,9 @@ const ConfigSchema = z
203
205
  redirects: z.array(z.object({ from: z.string(), to: z.string() })),
204
206
  customPages: z.array(z.object({
205
207
  path: z.string(),
206
- element: z.custom(),
208
+ element: z.custom().optional(),
209
+ render: z.custom().optional(),
210
+ prose: z.boolean().optional(),
207
211
  })),
208
212
  plugins: z.array(z.custom()),
209
213
  sitemap: SiteMapSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"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"}
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,4 @@
1
1
  export type { ZudokuConfig } from "./config/config.js";
2
- export type { InputSidebar as Sidebar } from "./config/validators/InputSidebarSchema.js";
2
+ export type { ConfigSidebar as Sidebar } from "./config/validators/InputSidebarSchema.js";
3
+ export type { ExposedComponentProps } from "./lib/components/SlotletProvider.js";
3
4
  export type { MDXImport } from "./lib/plugins/markdown/index.js";
@@ -12,3 +12,19 @@ export interface UserProfile {
12
12
  pictureUrl: string | undefined;
13
13
  [key: string]: string | boolean | undefined;
14
14
  }
15
+ interface SelectedServerState {
16
+ selectedServer?: string;
17
+ setSelectedServer: (newServer: string) => void;
18
+ }
19
+ export declare const useSelectedServerStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<SelectedServerState>, "persist"> & {
20
+ persist: {
21
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<SelectedServerState, SelectedServerState>>) => void;
22
+ clearStorage: () => void;
23
+ rehydrate: () => Promise<void> | void;
24
+ hasHydrated: () => boolean;
25
+ onHydrate: (fn: (state: SelectedServerState) => void) => () => void;
26
+ onFinishHydration: (fn: (state: SelectedServerState) => void) => () => void;
27
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<SelectedServerState, SelectedServerState>>;
28
+ };
29
+ }>;
30
+ export {};
@@ -1,6 +1,11 @@
1
1
  import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
2
3
  export const useAuthState = create(() => ({
3
4
  isPending: false,
4
5
  isAuthenticated: false,
5
6
  }));
7
+ export const useSelectedServerStore = create()(persist((set) => ({
8
+ selectedServer: undefined,
9
+ setSelectedServer: (newServer) => set({ selectedServer: newServer }),
10
+ }), { name: "zudoku-selected-server" }));
6
11
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/lib/authentication/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAY,GAAG,EAAE,CAAC,CAAC;IACnD,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,KAAK;CACvB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/lib/authentication/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAY,GAAG,EAAE,CAAC,CAAC;IACnD,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,KAAK;CACvB,CAAC,CAAC,CAAC;AAsBJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,EAAuB,CACjE,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,CAAC,SAAiB,EAAE,EAAE,CACvC,GAAG,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;CACrC,CAAC,EACF,EAAE,IAAI,EAAE,wBAAwB,EAAE,CACnC,CACF,CAAC"}
@@ -16,6 +16,12 @@ export const Banner = () => {
16
16
  if (!page?.banner || !isBannerOpen) {
17
17
  return _jsx("style", { children: `:root { --banner-height: 0px; }` });
18
18
  }
19
- return (_jsxs("div", { className: cn("relative text-primary-foreground text-sm font-medium px-4 py-2 flex gap-2 items-center", page.banner.color ? COLOR_MAP[page.banner.color] : "bg-primary"), children: [_jsx("div", { className: "w-full", children: page.banner.message }), page.banner.dismissible && (_jsx("button", { type: "button", className: "md:absolute md:right-4 -m-1.5 p-1.5 hover:bg-accent-foreground/10 rounded-md", onClick: () => setIsBannerOpen(false), children: _jsx(CircleXIcon, { size: 16 }) }))] }));
19
+ const mappedColor = page.banner.color && page.banner.color in COLOR_MAP
20
+ ? COLOR_MAP[page.banner.color]
21
+ : !page.banner.color
22
+ ? "bg-primary"
23
+ : undefined;
24
+ const style = !mappedColor ? { backgroundColor: page.banner.color } : {};
25
+ return (_jsxs("div", { className: cn("relative text-primary-foreground text-sm font-medium px-4 py-2 flex gap-2 items-center", mappedColor), style: style, children: [_jsx("div", { className: "w-full", children: page.banner.message }), page.banner.dismissible && (_jsx("button", { type: "button", className: "md:absolute md:right-4 -m-1.5 p-1.5 hover:bg-accent-foreground/10 rounded-md", onClick: () => setIsBannerOpen(false), children: _jsx(CircleXIcon, { size: 16 }) }))] }));
20
26
  };
21
27
  //# sourceMappingURL=Banner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/lib/components/Banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,0BAAQ,iCAAiC,GAAS,CAAC;IAC5D,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAChE,aAED,cAAK,SAAS,EAAC,QAAQ,YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAO,EAClD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAC1B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8EAA8E,EACxF,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,YAErC,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,CACV,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/lib/components/Banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,aAAa;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,0BAAQ,iCAAiC,GAAS,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QACjD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAA+B,CAAC;QACxD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,WAAW,CACZ,EACD,KAAK,EAAE,KAAK,aAEZ,cAAK,SAAS,EAAC,QAAQ,YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAO,EAClD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAC1B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8EAA8E,EACxF,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,YAErC,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,CACV,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Link } from "react-router-dom";
3
2
  import { CategoryHeading } from "./CategoryHeading.js";
4
3
  import { Heading } from "./Heading.js";
5
4
  import { ProseClasses } from "./Markdown.js";
6
5
  export const ErrorPage = ({ title = "An error occurred", message, category, }) => {
7
- return (_jsxs("div", { className: ProseClasses + " h-full pt-[--padding-content-top]", children: [category && _jsx(CategoryHeading, { children: category }), title && (_jsx(Heading, { level: 1, className: "flex gap-3.5 items-center", children: title })), _jsx("p", { children: message }), _jsx(Link, { to: "/", children: "Go back home" })] }));
6
+ return (_jsxs("div", { className: ProseClasses + " h-full pt-[--padding-content-top]", children: [category && _jsx(CategoryHeading, { children: category }), title && (_jsx(Heading, { level: 1, className: "flex gap-3.5 items-center", children: title })), _jsx("p", { children: message })] }));
8
7
  };
9
8
  //# sourceMappingURL=ErrorPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorPage.js","sourceRoot":"","sources":["../../../src/lib/components/ErrorPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,KAAK,GAAG,mBAAmB,EAC3B,OAAO,EACP,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,CACL,eAAK,SAAS,EAAE,YAAY,GAAG,oCAAoC,aAChE,QAAQ,IAAI,KAAC,eAAe,cAAE,QAAQ,GAAmB,EACzD,KAAK,IAAI,CACR,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAC,2BAA2B,YACrD,KAAK,GACE,CACX,EACD,sBAAI,OAAO,GAAK,EAChB,KAAC,IAAI,IAAC,EAAE,EAAC,GAAG,6BAAoB,IAC5B,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ErrorPage.js","sourceRoot":"","sources":["../../../src/lib/components/ErrorPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,KAAK,GAAG,mBAAmB,EAC3B,OAAO,EACP,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,CACL,eAAK,SAAS,EAAE,YAAY,GAAG,oCAAoC,aAChE,QAAQ,IAAI,KAAC,eAAe,cAAE,QAAQ,GAAmB,EACzD,KAAK,IAAI,CACR,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAC,2BAA2B,YACrD,KAAK,GACE,CACX,EACD,sBAAI,OAAO,GAAK,IACZ,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -30,6 +30,6 @@ export const Header = memo(function HeaderInner() {
30
30
  .flatMap((p) => p.getProfileMenuItems(context))
31
31
  .map((i) => _jsx(RecursiveMenu, { item: i }, i.label));
32
32
  const ThemeIcon = isDark ? MoonStarIcon : SunIcon;
33
- return (_jsxs("header", { className: "sticky lg:top-0 z-10 bg-background/80 backdrop-blur w-full", children: [_jsx(Banner, {}), _jsxs("div", { className: "max-w-screen-2xl mx-auto", children: [_jsxs("div", { className: "grid grid-cols-2 lg:grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b px-10 lg:px-12 h-[--top-header-height]", children: [_jsx("div", { className: "flex", children: _jsx(Link, { to: "/", children: _jsxs("div", { className: "flex items-center gap-3.5", children: [page?.logo && (_jsxs(_Fragment, { children: [_jsx("img", { src: page.logo.src.light, alt: page.logo.alt ?? page.pageTitle, style: { width: page.logo.width }, className: cn("h-10", isDark && "hidden"), loading: "lazy" }), _jsx("img", { src: page.logo.src.dark, alt: page.logo.alt ?? page.pageTitle, style: { width: page.logo.width }, className: cn("h-10", !isDark && "hidden"), loading: "lazy" })] })), _jsx("span", { className: "font-bold text-2xl text-foreground/85 tracking-wide", children: page?.pageTitle })] }) }) }), _jsxs("div", { className: "grid grid-cols-2 md:grid-cols-[--sidecar-grid-cols] items-center gap-8", children: [_jsx("div", { className: "w-full justify-center flex", children: _jsx(Search, {}) }), _jsx(MobileTopNavigation, {}), _jsxs("div", { className: "hidden lg:flex items-center justify-self-end text-sm gap-2", children: [_jsx(Slotlet, { name: "head-navigation-start" }), isAuthEnabled && !isAuthenticated ? (_jsx(Button, { variant: "ghost", onClick: () => auth.login(), children: "Login" })) : (accountItems.length > 0 && (_jsxs(DropdownMenu, { modal: false, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", children: profile?.email ? `${profile.email}` : "My Account" }) }), _jsxs(DropdownMenuContent, { className: "w-56", children: [_jsx(DropdownMenuLabel, { children: "My Account" }), _jsx(DropdownMenuSeparator, {}), accountItems] })] }))), _jsx("button", { type: "button", "aria-label": isDark ? "Switch to light mode" : "Switch to dark mode", className: "cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full", onClick: toggleTheme, children: _jsx(ThemeIcon, { size: 18 }) }), _jsx(Slotlet, { name: "head-navigation-end" })] })] })] }), _jsx(TopNavigation, {})] })] }));
33
+ return (_jsxs("header", { className: "sticky lg:top-0 z-10 bg-background/80 backdrop-blur w-full", children: [_jsx(Banner, {}), _jsxs("div", { className: "max-w-screen-2xl mx-auto", children: [_jsxs("div", { className: "grid grid-cols-2 lg:grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b px-10 lg:px-12 h-[--top-header-height]", children: [_jsx("div", { className: "flex", children: _jsx(Link, { to: "/", children: _jsxs("div", { className: "flex items-center gap-3.5", children: [page?.logo && (_jsxs(_Fragment, { children: [_jsx("img", { src: page.logo.src.light, alt: page.logo.alt ?? page.pageTitle, style: { width: page.logo.width }, className: cn("h-10", isDark && "hidden"), loading: "lazy" }), _jsx("img", { src: page.logo.src.dark, alt: page.logo.alt ?? page.pageTitle, style: { width: page.logo.width }, className: cn("h-10", !isDark && "hidden"), loading: "lazy" })] })), _jsx("span", { className: "font-bold text-2xl text-foreground/85 tracking-wide", children: page?.pageTitle })] }) }) }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[--sidecar-grid-cols] items-center gap-8", children: [_jsx("div", { className: "w-full justify-center hidden lg:flex", children: _jsx(Search, {}) }), _jsx(MobileTopNavigation, {}), _jsxs("div", { className: "hidden lg:flex items-center justify-self-end text-sm gap-2", children: [_jsx(Slotlet, { name: "head-navigation-start" }), isAuthEnabled && !isAuthenticated ? (_jsx(Button, { variant: "ghost", onClick: () => auth.login(), children: "Login" })) : (accountItems.length > 0 && (_jsxs(DropdownMenu, { modal: false, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", children: profile?.email ? `${profile.email}` : "My Account" }) }), _jsxs(DropdownMenuContent, { className: "w-56", children: [_jsx(DropdownMenuLabel, { children: "My Account" }), _jsx(DropdownMenuSeparator, {}), accountItems] })] }))), _jsx("button", { type: "button", "aria-label": isDark ? "Switch to light mode" : "Switch to dark mode", className: "cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full", onClick: toggleTheme, children: _jsx(ThemeIcon, { size: 18 }) }), _jsx(Slotlet, { name: "head-navigation-end" })] })] })] }), _jsx(Slotlet, { name: "top-navigation-before" }), _jsx(TopNavigation, {}), _jsx(Slotlet, { name: "top-navigation-after" })] })] }));
34
34
  });
35
35
  //# sourceMappingURL=Header.js.map