zudoku 0.0.0-f471fb8 → 0.0.0-f52e8af

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 (974) hide show
  1. package/cli.js +8 -2
  2. package/dist/app/ZuploBuildConfig.d.ts +155 -0
  3. package/dist/app/ZuploBuildConfig.js +29 -0
  4. package/dist/app/ZuploBuildConfig.js.map +1 -0
  5. package/dist/app/entry.client.js +36 -0
  6. package/dist/app/entry.client.js.map +1 -1
  7. package/dist/app/entry.server.d.ts +5 -4
  8. package/dist/app/entry.server.js +2 -2
  9. package/dist/app/entry.server.js.map +1 -1
  10. package/dist/app/env.d.ts +33 -0
  11. package/dist/app/env.js +29 -0
  12. package/dist/app/env.js.map +1 -0
  13. package/dist/app/main.js +16 -4
  14. package/dist/app/main.js.map +1 -1
  15. package/dist/cli/build/handler.js +2 -1
  16. package/dist/cli/build/handler.js.map +1 -1
  17. package/dist/cli/cli.js +12 -1
  18. package/dist/cli/cli.js.map +1 -1
  19. package/dist/cli/cmds/dev.js +1 -7
  20. package/dist/cli/cmds/dev.js.map +1 -1
  21. package/dist/cli/common/machine-id/lib.js +1 -0
  22. package/dist/cli/common/machine-id/lib.js.map +1 -1
  23. package/dist/cli/dev/handler.js +2 -1
  24. package/dist/cli/dev/handler.js.map +1 -1
  25. package/dist/config/config.d.ts +3 -1
  26. package/dist/config/loader.d.ts +2 -16
  27. package/dist/config/loader.js +10 -94
  28. package/dist/config/loader.js.map +1 -1
  29. package/dist/config/validators/BuildSchema.d.ts +60 -0
  30. package/dist/config/validators/BuildSchema.js +31 -0
  31. package/dist/config/validators/BuildSchema.js.map +1 -0
  32. package/dist/config/validators/common.d.ts +1487 -335
  33. package/dist/config/validators/common.js +59 -9
  34. package/dist/config/validators/common.js.map +1 -1
  35. package/dist/config/validators/icon-types.d.ts +1 -1
  36. package/dist/config/validators/validate.d.ts +515 -128
  37. package/dist/index.d.ts +2 -1
  38. package/dist/index.js +1 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/lib/authentication/components/CallbackHandler.js +5 -1
  41. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  42. package/dist/lib/authentication/components/SignIn.d.ts +1 -1
  43. package/dist/lib/authentication/components/SignIn.js +5 -2
  44. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  45. package/dist/lib/authentication/components/SignUp.d.ts +1 -1
  46. package/dist/lib/authentication/components/SignUp.js +4 -1
  47. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  48. package/dist/lib/authentication/providers/auth0.js +1 -1
  49. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  50. package/dist/lib/authentication/providers/clerk.js +15 -7
  51. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  52. package/dist/lib/authentication/providers/openid.d.ts +5 -6
  53. package/dist/lib/authentication/providers/openid.js +14 -20
  54. package/dist/lib/authentication/providers/openid.js.map +1 -1
  55. package/dist/lib/components/Banner.js +1 -1
  56. package/dist/lib/components/Banner.js.map +1 -1
  57. package/dist/lib/components/Bootstrap.d.ts +2 -1
  58. package/dist/lib/components/Bootstrap.js +3 -2
  59. package/dist/lib/components/Bootstrap.js.map +1 -1
  60. package/dist/lib/components/BuildCheck.d.ts +4 -0
  61. package/dist/lib/components/BuildCheck.js +38 -0
  62. package/dist/lib/components/BuildCheck.js.map +1 -0
  63. package/dist/lib/components/Footer.d.ts +1 -0
  64. package/dist/lib/components/Footer.js +32 -0
  65. package/dist/lib/components/Footer.js.map +1 -0
  66. package/dist/lib/components/Header.js +3 -3
  67. package/dist/lib/components/Header.js.map +1 -1
  68. package/dist/lib/components/Heading.d.ts +2 -2
  69. package/dist/lib/components/Heading.js +1 -1
  70. package/dist/lib/components/Heading.js.map +1 -1
  71. package/dist/lib/components/Layout.js +3 -1
  72. package/dist/lib/components/Layout.js.map +1 -1
  73. package/dist/lib/components/Main.js +3 -2
  74. package/dist/lib/components/Main.js.map +1 -1
  75. package/dist/lib/components/Markdown.d.ts +3 -1
  76. package/dist/lib/components/Markdown.js +8 -14
  77. package/dist/lib/components/Markdown.js.map +1 -1
  78. package/dist/lib/components/MobileTopNavigation.js +6 -3
  79. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  80. package/dist/lib/components/Pagination.d.ts +2 -1
  81. package/dist/lib/components/Pagination.js +3 -3
  82. package/dist/lib/components/Pagination.js.map +1 -1
  83. package/dist/lib/components/Search.js +7 -1
  84. package/dist/lib/components/Search.js.map +1 -1
  85. package/dist/lib/components/TopNavigation.d.ts +1 -0
  86. package/dist/lib/components/TopNavigation.js +3 -3
  87. package/dist/lib/components/TopNavigation.js.map +1 -1
  88. package/dist/lib/components/Zudoku.js +2 -1
  89. package/dist/lib/components/Zudoku.js.map +1 -1
  90. package/dist/lib/components/context/BypassProtectedRoutesContext.d.ts +1 -0
  91. package/dist/lib/components/context/BypassProtectedRoutesContext.js +3 -0
  92. package/dist/lib/components/context/BypassProtectedRoutesContext.js.map +1 -0
  93. package/dist/lib/components/context/ViewportAnchorContext.js +8 -9
  94. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  95. package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
  96. package/dist/lib/components/context/ZudokuContext.js +2 -3
  97. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  98. package/dist/lib/components/index.d.ts +8 -2
  99. package/dist/lib/components/index.js +2 -0
  100. package/dist/lib/components/index.js.map +1 -1
  101. package/dist/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
  102. package/dist/lib/components/navigation/PoweredByZudoku.js +7 -0
  103. package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -0
  104. package/dist/lib/components/navigation/Sidebar.js +3 -10
  105. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  106. package/dist/lib/components/navigation/SidebarCategory.js +9 -5
  107. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  108. package/dist/lib/components/navigation/SidebarItem.js +2 -3
  109. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  110. package/dist/lib/components/navigation/SidebarWrapper.d.ts +2 -3
  111. package/dist/lib/components/navigation/SidebarWrapper.js +18 -2
  112. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  113. package/dist/lib/components/navigation/Toc.js +2 -2
  114. package/dist/lib/components/navigation/Toc.js.map +1 -1
  115. package/dist/lib/components/navigation/ZudokuLogo.d.ts +6 -0
  116. package/dist/lib/components/navigation/ZudokuLogo.js +5 -0
  117. package/dist/lib/components/navigation/ZudokuLogo.js.map +1 -0
  118. package/dist/lib/components/navigation/ZuploLogo.d.ts +3 -0
  119. package/dist/lib/components/navigation/ZuploLogo.js +4 -0
  120. package/dist/lib/components/navigation/ZuploLogo.js.map +1 -0
  121. package/dist/lib/core/RouteGuard.d.ts +1 -0
  122. package/dist/lib/core/RouteGuard.js +9 -3
  123. package/dist/lib/core/RouteGuard.js.map +1 -1
  124. package/dist/lib/core/ZudokuContext.d.ts +14 -2
  125. package/dist/lib/core/ZudokuContext.js.map +1 -1
  126. package/dist/lib/errors/ErrorAlert.js +1 -1
  127. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  128. package/dist/lib/oas/graphql/circular.js +23 -18
  129. package/dist/lib/oas/graphql/circular.js.map +1 -1
  130. package/dist/lib/oas/parser/index.d.ts +3 -0
  131. package/dist/lib/oas/parser/index.js +7 -1
  132. package/dist/lib/oas/parser/index.js.map +1 -1
  133. package/dist/lib/oas/parser/upgrade/index.d.ts +1 -0
  134. package/dist/lib/oas/parser/upgrade/index.js +77 -25
  135. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  136. package/dist/lib/plugins/api-catalog/Catalog.js +1 -1
  137. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  138. package/dist/lib/plugins/markdown/MdxPage.js +1 -1
  139. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  140. package/dist/lib/plugins/openapi/CollapsibleCode.js +1 -1
  141. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  142. package/dist/lib/plugins/openapi/ColorizedParam.js +1 -1
  143. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  144. package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
  145. package/dist/lib/plugins/openapi/OperationList.js +7 -5
  146. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  147. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  148. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  149. package/dist/lib/plugins/openapi/ParamInfos.js +4 -1
  150. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  151. package/dist/lib/plugins/openapi/ParameterListItem.js +9 -1
  152. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  153. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +2 -4
  154. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +1 -4
  155. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  156. package/dist/lib/plugins/openapi/SchemaList.js +6 -5
  157. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  158. package/dist/lib/plugins/openapi/Sidecar.js +33 -3
  159. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  160. package/dist/lib/plugins/openapi/SidecarExamples.js +9 -1
  161. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  162. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +5 -0
  163. package/dist/lib/plugins/openapi/client/useCreateQuery.js +10 -4
  164. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  165. package/dist/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
  166. package/dist/lib/plugins/openapi/components/ConstValue.js +6 -0
  167. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -0
  168. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  169. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  170. package/dist/lib/plugins/openapi/components/ResponseContent.d.ts +12 -0
  171. package/dist/lib/plugins/openapi/components/ResponseContent.js +21 -0
  172. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -0
  173. package/dist/lib/plugins/openapi/index.d.ts +3 -4
  174. package/dist/lib/plugins/openapi/index.js +6 -4
  175. package/dist/lib/plugins/openapi/index.js.map +1 -1
  176. package/dist/lib/plugins/openapi/interfaces.d.ts +4 -3
  177. package/dist/lib/plugins/openapi/playground/Headers.js +2 -2
  178. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  179. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -3
  180. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -1
  181. package/dist/lib/plugins/openapi/playground/Playground.js +2 -2
  182. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  183. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +1 -1
  184. package/dist/lib/plugins/openapi/playground/QueryParams.js +3 -3
  185. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  186. package/dist/lib/plugins/openapi/playground/SubmitButton.d.ts +1 -1
  187. package/dist/lib/plugins/openapi/playground/SubmitButton.js +1 -1
  188. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +1 -1
  189. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +1 -1
  190. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  191. package/dist/lib/plugins/openapi/processors/removeExtensions.d.ts +8 -0
  192. package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.js +1 -1
  193. package/dist/lib/plugins/openapi/processors/removeExtensions.js.map +1 -0
  194. package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.js +26 -6
  195. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -0
  196. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.d.ts +3 -1
  197. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.js +1 -1
  198. package/dist/lib/plugins/openapi/processors/removeParameters.js.map +1 -0
  199. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.js +53 -25
  200. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -0
  201. package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.d.ts +3 -1
  202. package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.js +1 -1
  203. package/dist/lib/plugins/openapi/processors/removePaths.js.map +1 -0
  204. package/dist/lib/plugins/openapi/processors/removePaths.test.js +144 -0
  205. package/dist/lib/plugins/openapi/processors/removePaths.test.js.map +1 -0
  206. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -0
  207. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +1 -2
  208. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +2 -2
  209. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
  210. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +2 -1
  211. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +2 -2
  212. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +1 -1
  213. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -1
  214. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +1 -1
  215. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +1 -1
  216. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
  217. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +15 -0
  218. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -0
  219. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +2 -4
  220. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +19 -13
  221. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  222. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +2 -2
  223. package/dist/lib/plugins/openapi/schema/SchemaView.js +34 -53
  224. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  225. package/dist/lib/plugins/openapi/schema/utils.d.ts +7 -1
  226. package/dist/lib/plugins/openapi/schema/utils.js +14 -5
  227. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  228. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
  229. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +44 -0
  230. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  231. package/dist/lib/plugins/openapi/util/getRoutes.js +52 -15
  232. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  233. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +9 -4
  234. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  235. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -1
  236. package/dist/lib/plugins/search-pagefind/ResultList.js +6 -12
  237. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  238. package/dist/lib/plugins/search-pagefind/index.d.ts +1 -3
  239. package/dist/lib/shiki.d.ts +35 -0
  240. package/dist/lib/shiki.js +103 -0
  241. package/dist/lib/shiki.js.map +1 -0
  242. package/dist/lib/ui/Callout.js +1 -1
  243. package/dist/lib/ui/Callout.js.map +1 -1
  244. package/dist/lib/ui/CodeBlock.d.ts +16 -0
  245. package/dist/lib/ui/CodeBlock.js +18 -0
  246. package/dist/lib/ui/CodeBlock.js.map +1 -0
  247. package/dist/lib/ui/Form.d.ts +1 -1
  248. package/dist/lib/ui/SyntaxHighlight.d.ts +10 -15
  249. package/dist/lib/ui/SyntaxHighlight.js +12 -60
  250. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  251. package/dist/lib/util/MdxComponents.d.ts +10 -3
  252. package/dist/lib/util/MdxComponents.js +11 -10
  253. package/dist/lib/util/MdxComponents.js.map +1 -1
  254. package/dist/lib/util/detectOS.d.ts +1 -0
  255. package/dist/lib/util/detectOS.js +11 -0
  256. package/dist/lib/util/detectOS.js.map +1 -0
  257. package/dist/lib/util/ensureArray.d.ts +1 -0
  258. package/dist/lib/util/ensureArray.js +2 -0
  259. package/dist/lib/util/ensureArray.js.map +1 -0
  260. package/dist/lib/util/traverse.d.ts +1 -1
  261. package/dist/lib/util/traverse.js +6 -5
  262. package/dist/lib/util/traverse.js.map +1 -1
  263. package/dist/lib/util/url.d.ts +4 -0
  264. package/dist/lib/util/url.js +13 -0
  265. package/dist/lib/util/url.js.map +1 -0
  266. package/dist/lib/util/url.test.js +26 -0
  267. package/dist/lib/util/url.test.js.map +1 -0
  268. package/dist/vite/api/SchemaManager.d.ts +36 -0
  269. package/dist/vite/api/SchemaManager.js +122 -0
  270. package/dist/vite/api/SchemaManager.js.map +1 -0
  271. package/dist/vite/api/SchemaManager.test.d.ts +1 -0
  272. package/dist/vite/api/SchemaManager.test.js +106 -0
  273. package/dist/vite/api/SchemaManager.test.js.map +1 -0
  274. package/dist/vite/api/schema-codegen.js +10 -6
  275. package/dist/vite/api/schema-codegen.js.map +1 -1
  276. package/dist/vite/build.js +2 -9
  277. package/dist/vite/build.js.map +1 -1
  278. package/dist/vite/config.js +56 -17
  279. package/dist/vite/config.js.map +1 -1
  280. package/dist/vite/dev-server.d.ts +0 -1
  281. package/dist/vite/dev-server.js +12 -12
  282. package/dist/vite/dev-server.js.map +1 -1
  283. package/dist/vite/html.d.ts +6 -2
  284. package/dist/vite/html.js +11 -8
  285. package/dist/vite/html.js.map +1 -1
  286. package/dist/vite/plugin-api.js +52 -106
  287. package/dist/vite/plugin-api.js.map +1 -1
  288. package/dist/vite/plugin-config-reload.js +6 -3
  289. package/dist/vite/plugin-config-reload.js.map +1 -1
  290. package/dist/vite/plugin-mdx.js +4 -11
  291. package/dist/vite/plugin-mdx.js.map +1 -1
  292. package/dist/vite/plugin-search.js +1 -1
  293. package/dist/vite/plugin-search.js.map +1 -1
  294. package/dist/vite/plugin-shiki-register.d.ts +3 -0
  295. package/dist/vite/plugin-shiki-register.js +38 -0
  296. package/dist/vite/plugin-shiki-register.js.map +1 -0
  297. package/dist/vite/plugin-sidebar.d.ts +3 -1
  298. package/dist/vite/plugin-sidebar.js +9 -3
  299. package/dist/vite/plugin-sidebar.js.map +1 -1
  300. package/dist/vite/plugin.js +2 -0
  301. package/dist/vite/plugin.js.map +1 -1
  302. package/dist/vite/prerender/FileWritingResponse.d.ts +9 -5
  303. package/dist/vite/prerender/FileWritingResponse.js +5 -5
  304. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  305. package/dist/vite/prerender/InMemoryResponse.d.ts +16 -0
  306. package/dist/vite/prerender/InMemoryResponse.js +32 -0
  307. package/dist/vite/prerender/InMemoryResponse.js.map +1 -0
  308. package/dist/vite/prerender/PrerenderResponse.d.ts +10 -0
  309. package/dist/vite/prerender/PrerenderResponse.js +2 -0
  310. package/dist/vite/prerender/PrerenderResponse.js.map +1 -0
  311. package/dist/vite/prerender/prerender.d.ts +1 -0
  312. package/dist/vite/prerender/prerender.js +24 -5
  313. package/dist/vite/prerender/prerender.js.map +1 -1
  314. package/dist/vite/prerender/worker.js +36 -8
  315. package/dist/vite/prerender/worker.js.map +1 -1
  316. package/dist/zuplo/enrich-with-zuplo.d.ts +3 -3
  317. package/dist/zuplo/enrich-with-zuplo.js +18 -17
  318. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  319. package/dist/zuplo/with-zuplo-processors.d.ts +2 -2
  320. package/dist/zuplo/with-zuplo-processors.js +7 -7
  321. package/dist/zuplo/with-zuplo-processors.js.map +1 -1
  322. package/dist/zuplo/with-zuplo.d.ts +4 -1
  323. package/dist/zuplo/with-zuplo.js +6 -5
  324. package/dist/zuplo/with-zuplo.js.map +1 -1
  325. package/lib/AuthenticationPlugin-B9ZLD8dq.js +90 -0
  326. package/lib/AuthenticationPlugin-B9ZLD8dq.js.map +1 -0
  327. package/lib/{Button-Fp19CMUr.js → Button-Bdk_Ij3U.js} +4 -4
  328. package/lib/{Button-Fp19CMUr.js.map → Button-Bdk_Ij3U.js.map} +1 -1
  329. package/lib/{Callout-D5frCCJ0.js → Callout-hI9CHaoU.js} +20 -19
  330. package/lib/{Callout-D5frCCJ0.js.map → Callout-hI9CHaoU.js.map} +1 -1
  331. package/lib/Card-BlCYNw5W.js +61 -0
  332. package/lib/Card-BlCYNw5W.js.map +1 -0
  333. package/lib/{CategoryHeading-DpB47wvk.js → CategoryHeading-DZi-Szor.js} +3 -3
  334. package/lib/{CategoryHeading-DpB47wvk.js.map → CategoryHeading-DZi-Szor.js.map} +1 -1
  335. package/lib/{Dialog-Dv6WG8RN.js → Dialog-qJtc4-PZ.js} +8 -8
  336. package/lib/{Dialog-Dv6WG8RN.js.map → Dialog-qJtc4-PZ.js.map} +1 -1
  337. package/lib/{Drawer-kDAfOq_2.js → Drawer-BPBxzel2.js} +26 -26
  338. package/lib/Drawer-BPBxzel2.js.map +1 -0
  339. package/lib/Markdown-D3MUf20w.js +7691 -0
  340. package/lib/Markdown-D3MUf20w.js.map +1 -0
  341. package/lib/MdxPage-qSYniGrR.js +84 -0
  342. package/lib/MdxPage-qSYniGrR.js.map +1 -0
  343. package/lib/OasProvider-BHyIG4Ge.js +33 -0
  344. package/lib/{OasProvider-OlYb8W57.js.map → OasProvider-BHyIG4Ge.js.map} +1 -1
  345. package/lib/{OperationList-BvfIzVRx.js → OperationList-CfVK_S-T.js} +2055 -1978
  346. package/lib/OperationList-CfVK_S-T.js.map +1 -0
  347. package/lib/Pagination-CjsamWJW.js +48 -0
  348. package/lib/Pagination-CjsamWJW.js.map +1 -0
  349. package/lib/RouteGuard-ChX1tPqA.js +55 -0
  350. package/lib/RouteGuard-ChX1tPqA.js.map +1 -0
  351. package/lib/{SchemaList-Bi35O4XD.js → SchemaList-BZRVKC7J.js} +60 -48
  352. package/lib/SchemaList-BZRVKC7J.js.map +1 -0
  353. package/lib/SchemaView-Db5jA7z7.js +375 -0
  354. package/lib/SchemaView-Db5jA7z7.js.map +1 -0
  355. package/lib/Select-CaRC4cvg.js +211 -0
  356. package/lib/{Select-DVFRKf1R.js.map → Select-CaRC4cvg.js.map} +1 -1
  357. package/lib/SlotletProvider-ZhDNaV0q.js +257 -0
  358. package/lib/SlotletProvider-ZhDNaV0q.js.map +1 -0
  359. package/lib/{Spinner-CE68iCm0.js → Spinner-mNLZ6awP.js} +2 -2
  360. package/lib/{Spinner-CE68iCm0.js.map → Spinner-mNLZ6awP.js.map} +1 -1
  361. package/lib/SyntaxHighlight-IcJTpNbL.js +9107 -0
  362. package/lib/SyntaxHighlight-IcJTpNbL.js.map +1 -0
  363. package/lib/{Toc-YBsgI72s.js → Toc-B0gpT6e6.js} +19 -19
  364. package/lib/Toc-B0gpT6e6.js.map +1 -0
  365. package/lib/{chunk-HA7DTUK3-C4gP41vD.js → chunk-BAXFHI7N-C9WnHsLV.js} +715 -697
  366. package/lib/chunk-BAXFHI7N-C9WnHsLV.js.map +1 -0
  367. package/lib/{circular-ByJI6Mci.js → circular-BGxf3iUW.js} +4224 -5172
  368. package/lib/circular-BGxf3iUW.js.map +1 -0
  369. package/lib/{cn-qaFjX9_3.js → cn-CwJPJKOE.js} +28 -29
  370. package/lib/{cn-qaFjX9_3.js.map → cn-CwJPJKOE.js.map} +1 -1
  371. package/lib/{createServer-mMau3eV_.js → createServer-C1kGUn7C.js} +4509 -4443
  372. package/lib/createServer-C1kGUn7C.js.map +1 -0
  373. package/lib/hook-CqYKERnR.js +1442 -0
  374. package/lib/hook-CqYKERnR.js.map +1 -0
  375. package/lib/{index-DwT-v3zK.js → index--oeBayMa.js} +2 -2
  376. package/lib/{index-DwT-v3zK.js.map → index--oeBayMa.js.map} +1 -1
  377. package/lib/{index-LNp6rxyU.js → index-BvvmIczU.js} +2 -2
  378. package/lib/{index-LNp6rxyU.js.map → index-BvvmIczU.js.map} +1 -1
  379. package/lib/index-CrcNWbel.js +316 -0
  380. package/lib/index-CrcNWbel.js.map +1 -0
  381. package/lib/index-D1LYvDiD.js +3158 -0
  382. package/lib/index-D1LYvDiD.js.map +1 -0
  383. package/lib/index-LSPm9Daf.js +4976 -0
  384. package/lib/index-LSPm9Daf.js.map +1 -0
  385. package/lib/{index-CPNSgwSb.js → index-Z13x6tPX.js} +5 -5
  386. package/lib/{index-CPNSgwSb.js.map → index-Z13x6tPX.js.map} +1 -1
  387. package/lib/{index-Dl3Yl0yb.js → index-zddirpDj.js} +621 -636
  388. package/lib/index-zddirpDj.js.map +1 -0
  389. package/lib/index.esm-BFcSKCe-.js +683 -0
  390. package/lib/index.esm-BFcSKCe-.js.map +1 -0
  391. package/lib/index.esm-D2ZUREQN.js +1216 -0
  392. package/lib/index.esm-D2ZUREQN.js.map +1 -0
  393. package/lib/invariant-DAFpPywt.js +48 -0
  394. package/lib/{invariant-Caa8-XvF.js.map → invariant-DAFpPywt.js.map} +1 -1
  395. package/lib/jsx-runtime-C5mzlN2N.js +285 -0
  396. package/lib/jsx-runtime-C5mzlN2N.js.map +1 -0
  397. package/lib/mutation-DpoXF3gn.js +196 -0
  398. package/lib/mutation-DpoXF3gn.js.map +1 -0
  399. package/lib/objectEntries-yMIkr2mI.js +5 -0
  400. package/lib/objectEntries-yMIkr2mI.js.map +1 -0
  401. package/lib/{post-processors → processors}/removeExtensions.js +1 -1
  402. package/lib/processors/removeExtensions.js.map +1 -0
  403. package/lib/processors/removeParameters.js +47 -0
  404. package/lib/processors/removeParameters.js.map +1 -0
  405. package/lib/processors/removePaths.js +28 -0
  406. package/lib/processors/removePaths.js.map +1 -0
  407. package/lib/processors/traverse.js +17 -0
  408. package/lib/processors/traverse.js.map +1 -0
  409. package/lib/ui/Accordion.js +2 -2
  410. package/lib/ui/ActionButton.js +4 -4
  411. package/lib/ui/Alert.js +3 -3
  412. package/lib/ui/AlertDialog.js +2 -2
  413. package/lib/ui/Badge.js +3 -3
  414. package/lib/ui/Breadcrumb.js +2 -2
  415. package/lib/ui/Button.js +3 -3
  416. package/lib/ui/Callout.js +9 -8
  417. package/lib/ui/Callout.js.map +1 -1
  418. package/lib/ui/Card.js +2 -2
  419. package/lib/ui/Carousel.js +348 -348
  420. package/lib/ui/Carousel.js.map +1 -1
  421. package/lib/ui/Checkbox.js +2 -2
  422. package/lib/ui/CodeBlock.js +83 -0
  423. package/lib/ui/CodeBlock.js.map +1 -0
  424. package/lib/ui/Command.js +58 -58
  425. package/lib/ui/Command.js.map +1 -1
  426. package/lib/ui/Dialog.js +2 -2
  427. package/lib/ui/Drawer.js +3 -3
  428. package/lib/ui/DropdownMenu.js +2 -2
  429. package/lib/ui/Form.js +3 -3
  430. package/lib/ui/HoverCard.js +2 -2
  431. package/lib/ui/Input.js +2 -2
  432. package/lib/ui/Label.js +3 -3
  433. package/lib/ui/Pagination.js +2 -2
  434. package/lib/ui/Popover.js +2 -2
  435. package/lib/ui/Progress.js +2 -2
  436. package/lib/ui/RadioGroup.js +2 -2
  437. package/lib/ui/ScrollArea.js +2 -2
  438. package/lib/ui/Select.js +2 -2
  439. package/lib/ui/Skeleton.js +2 -2
  440. package/lib/ui/Slider.js +2 -2
  441. package/lib/ui/Stepper.js +1 -1
  442. package/lib/ui/Switch.js +2 -2
  443. package/lib/ui/SyntaxHighlight.js +6 -7
  444. package/lib/ui/SyntaxHighlight.js.map +1 -1
  445. package/lib/ui/Tabs.js +11 -11
  446. package/lib/ui/Textarea.js +2 -2
  447. package/lib/ui/Toggle.js +3 -3
  448. package/lib/ui/ToggleGroup.js +2 -2
  449. package/lib/ui/Tooltip.js +2 -2
  450. package/lib/ui/util.js +1 -1
  451. package/lib/{useExposedProps-B9qXJedG.js → useExposedProps-DG8J6ewJ.js} +2 -2
  452. package/lib/{useExposedProps-B9qXJedG.js.map → useExposedProps-DG8J6ewJ.js.map} +1 -1
  453. package/lib/useLatest-hmRS46UF.js +11 -0
  454. package/lib/useLatest-hmRS46UF.js.map +1 -0
  455. package/lib/zudoku.auth-auth0.js +28 -31
  456. package/lib/zudoku.auth-auth0.js.map +1 -1
  457. package/lib/zudoku.auth-clerk.js +66 -72
  458. package/lib/zudoku.auth-clerk.js.map +1 -1
  459. package/lib/zudoku.auth-openid.js +493 -494
  460. package/lib/zudoku.auth-openid.js.map +1 -1
  461. package/lib/zudoku.components.js +31 -28
  462. package/lib/zudoku.components.js.map +1 -1
  463. package/lib/zudoku.hooks.js +2 -2
  464. package/lib/zudoku.icons.js +1 -1
  465. package/lib/zudoku.plugin-api-catalog.js +59 -65
  466. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  467. package/lib/zudoku.plugin-api-keys.js +10 -10
  468. package/lib/zudoku.plugin-custom-pages.js +4 -4
  469. package/lib/zudoku.plugin-markdown.js +25 -28
  470. package/lib/zudoku.plugin-markdown.js.map +1 -1
  471. package/lib/zudoku.plugin-openapi.js +7 -6
  472. package/lib/zudoku.plugin-redirect.js +1 -1
  473. package/lib/zudoku.plugin-search-inkeep.js +26 -27
  474. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  475. package/lib/zudoku.plugin-search-pagefind.js +111 -119
  476. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  477. package/package.json +81 -72
  478. package/src/app/ZuploBuildConfig.ts +33 -0
  479. package/src/app/demo.html +1 -1
  480. package/src/app/entry.client.tsx +43 -0
  481. package/src/app/entry.server.tsx +6 -3
  482. package/src/app/env.ts +35 -0
  483. package/src/app/main.css +64 -7
  484. package/src/app/main.tsx +24 -1
  485. package/src/lib/authentication/components/CallbackHandler.tsx +11 -1
  486. package/src/lib/authentication/components/SignIn.tsx +35 -2
  487. package/src/lib/authentication/components/SignUp.tsx +35 -1
  488. package/src/lib/authentication/providers/auth0.tsx +1 -1
  489. package/src/lib/authentication/providers/clerk.tsx +16 -12
  490. package/src/lib/authentication/providers/openid.tsx +20 -27
  491. package/src/lib/components/Banner.tsx +1 -1
  492. package/src/lib/components/Bootstrap.tsx +13 -6
  493. package/src/lib/components/BuildCheck.tsx +75 -0
  494. package/src/lib/components/Footer.tsx +136 -0
  495. package/src/lib/components/Header.tsx +3 -3
  496. package/src/lib/components/Heading.tsx +3 -3
  497. package/src/lib/components/Layout.tsx +10 -4
  498. package/src/lib/components/Main.tsx +7 -5
  499. package/src/lib/components/Markdown.tsx +29 -24
  500. package/src/lib/components/MobileTopNavigation.tsx +29 -20
  501. package/src/lib/components/Pagination.tsx +7 -4
  502. package/src/lib/components/Search.tsx +14 -3
  503. package/src/lib/components/TopNavigation.tsx +3 -3
  504. package/src/lib/components/Zudoku.tsx +3 -3
  505. package/src/lib/components/context/BypassProtectedRoutesContext.ts +3 -0
  506. package/src/lib/components/context/ViewportAnchorContext.tsx +8 -15
  507. package/src/lib/components/context/ZudokuContext.ts +2 -3
  508. package/src/lib/components/index.ts +2 -0
  509. package/src/lib/components/navigation/PoweredByZudoku.tsx +33 -0
  510. package/src/lib/components/navigation/Sidebar.tsx +33 -38
  511. package/src/lib/components/navigation/SidebarCategory.tsx +9 -5
  512. package/src/lib/components/navigation/SidebarItem.tsx +2 -3
  513. package/src/lib/components/navigation/SidebarWrapper.tsx +37 -16
  514. package/src/lib/components/navigation/Toc.tsx +4 -4
  515. package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
  516. package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
  517. package/src/lib/core/RouteGuard.tsx +26 -4
  518. package/src/lib/core/ZudokuContext.ts +14 -2
  519. package/src/lib/errors/ErrorAlert.tsx +1 -1
  520. package/src/lib/oas/graphql/circular.ts +27 -19
  521. package/src/lib/oas/parser/index.ts +7 -1
  522. package/src/lib/oas/parser/upgrade/index.ts +98 -28
  523. package/src/lib/plugins/api-catalog/Catalog.tsx +1 -4
  524. package/src/lib/plugins/markdown/MdxPage.tsx +3 -2
  525. package/src/lib/plugins/openapi/CollapsibleCode.tsx +7 -4
  526. package/src/lib/plugins/openapi/ColorizedParam.tsx +1 -1
  527. package/src/lib/plugins/openapi/OperationList.tsx +28 -17
  528. package/src/lib/plugins/openapi/OperationListItem.tsx +23 -42
  529. package/src/lib/plugins/openapi/ParamInfos.tsx +4 -1
  530. package/src/lib/plugins/openapi/ParameterListItem.tsx +32 -0
  531. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +5 -16
  532. package/src/lib/plugins/openapi/SchemaList.tsx +19 -7
  533. package/src/lib/plugins/openapi/Sidecar.tsx +36 -3
  534. package/src/lib/plugins/openapi/SidecarExamples.tsx +8 -2
  535. package/src/lib/plugins/openapi/client/useCreateQuery.ts +23 -4
  536. package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
  537. package/src/lib/plugins/openapi/components/EnumValues.tsx +1 -1
  538. package/src/lib/plugins/openapi/components/ResponseContent.tsx +104 -0
  539. package/src/lib/plugins/openapi/index.tsx +8 -7
  540. package/src/lib/plugins/openapi/interfaces.ts +4 -3
  541. package/src/lib/plugins/openapi/playground/Headers.tsx +2 -2
  542. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +22 -35
  543. package/src/lib/plugins/openapi/playground/Playground.tsx +5 -5
  544. package/src/lib/plugins/openapi/playground/QueryParams.tsx +4 -4
  545. package/src/lib/plugins/openapi/playground/SubmitButton.tsx +2 -2
  546. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +2 -2
  547. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +1 -1
  548. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  549. package/src/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.ts +29 -9
  550. package/src/lib/plugins/openapi/{post-processors → processors}/removeExtensions.ts +5 -3
  551. package/src/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.ts +67 -33
  552. package/src/lib/plugins/openapi/{post-processors → processors}/removeParameters.ts +5 -3
  553. package/src/lib/plugins/openapi/processors/removePaths.test.ts +167 -0
  554. package/src/lib/plugins/openapi/{post-processors → processors}/removePaths.ts +5 -3
  555. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -8
  556. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +3 -0
  557. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +6 -3
  558. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -0
  559. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +45 -34
  560. package/src/lib/plugins/openapi/schema/SchemaView.tsx +91 -143
  561. package/src/lib/plugins/openapi/schema/utils.ts +29 -6
  562. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +51 -1
  563. package/src/lib/plugins/openapi/util/getRoutes.tsx +87 -15
  564. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +11 -4
  565. package/src/lib/plugins/search-pagefind/ResultList.tsx +5 -16
  566. package/src/lib/plugins/search-pagefind/index.tsx +1 -1
  567. package/src/lib/shiki.ts +133 -0
  568. package/src/lib/ui/Callout.tsx +2 -1
  569. package/src/lib/ui/CodeBlock.tsx +102 -0
  570. package/src/lib/ui/SyntaxHighlight.tsx +23 -182
  571. package/src/lib/util/MdxComponents.tsx +29 -14
  572. package/src/lib/util/detectOS.ts +9 -0
  573. package/src/lib/util/ensureArray.ts +3 -0
  574. package/src/lib/util/traverse.ts +8 -5
  575. package/src/lib/util/url.test.ts +51 -0
  576. package/src/lib/util/url.ts +18 -0
  577. package/src/shiki/langs/abap.js +1 -0
  578. package/src/shiki/langs/actionscript-3.js +1 -0
  579. package/src/shiki/langs/ada.js +1 -0
  580. package/src/shiki/langs/angular-expression.js +1 -0
  581. package/src/shiki/langs/angular-html.js +1 -0
  582. package/src/shiki/langs/angular-inline-style.js +1 -0
  583. package/src/shiki/langs/angular-inline-template.js +1 -0
  584. package/src/shiki/langs/angular-let-declaration.js +1 -0
  585. package/src/shiki/langs/angular-template-blocks.js +1 -0
  586. package/src/shiki/langs/angular-template.js +1 -0
  587. package/src/shiki/langs/angular-ts.js +1 -0
  588. package/src/shiki/langs/apache.js +1 -0
  589. package/src/shiki/langs/apex.js +1 -0
  590. package/src/shiki/langs/apl.js +1 -0
  591. package/src/shiki/langs/applescript.js +1 -0
  592. package/src/shiki/langs/ara.js +1 -0
  593. package/src/shiki/langs/asciidoc.js +1 -0
  594. package/src/shiki/langs/asm.js +1 -0
  595. package/src/shiki/langs/astro.js +1 -0
  596. package/src/shiki/langs/awk.js +1 -0
  597. package/src/shiki/langs/ballerina.js +1 -0
  598. package/src/shiki/langs/bat.js +1 -0
  599. package/src/shiki/langs/beancount.js +1 -0
  600. package/src/shiki/langs/berry.js +1 -0
  601. package/src/shiki/langs/bibtex.js +1 -0
  602. package/src/shiki/langs/bicep.js +1 -0
  603. package/src/shiki/langs/blade.js +1 -0
  604. package/src/shiki/langs/bsl.js +1 -0
  605. package/src/shiki/langs/c.js +1 -0
  606. package/src/shiki/langs/cadence.js +1 -0
  607. package/src/shiki/langs/cairo.js +1 -0
  608. package/src/shiki/langs/clarity.js +1 -0
  609. package/src/shiki/langs/clojure.js +1 -0
  610. package/src/shiki/langs/cmake.js +1 -0
  611. package/src/shiki/langs/cobol.js +1 -0
  612. package/src/shiki/langs/codeowners.js +1 -0
  613. package/src/shiki/langs/codeql.js +1 -0
  614. package/src/shiki/langs/coffee.js +1 -0
  615. package/src/shiki/langs/common-lisp.js +1 -0
  616. package/src/shiki/langs/coq.js +1 -0
  617. package/src/shiki/langs/cpp-macro.js +1 -0
  618. package/src/shiki/langs/cpp.js +1 -0
  619. package/src/shiki/langs/crystal.js +1 -0
  620. package/src/shiki/langs/csharp.js +1 -0
  621. package/src/shiki/langs/css.js +1 -0
  622. package/src/shiki/langs/csv.js +1 -0
  623. package/src/shiki/langs/cue.js +1 -0
  624. package/src/shiki/langs/cypher.js +1 -0
  625. package/src/shiki/langs/d.js +1 -0
  626. package/src/shiki/langs/dart.js +1 -0
  627. package/src/shiki/langs/dax.js +1 -0
  628. package/src/shiki/langs/desktop.js +1 -0
  629. package/src/shiki/langs/diff.js +1 -0
  630. package/src/shiki/langs/docker.js +1 -0
  631. package/src/shiki/langs/dotenv.js +1 -0
  632. package/src/shiki/langs/dream-maker.js +1 -0
  633. package/src/shiki/langs/edge.js +1 -0
  634. package/src/shiki/langs/elixir.js +1 -0
  635. package/src/shiki/langs/elm.js +1 -0
  636. package/src/shiki/langs/emacs-lisp.js +1 -0
  637. package/src/shiki/langs/erb.js +1 -0
  638. package/src/shiki/langs/erlang.js +1 -0
  639. package/src/shiki/langs/es-tag-css.js +1 -0
  640. package/src/shiki/langs/es-tag-glsl.js +1 -0
  641. package/src/shiki/langs/es-tag-html.js +1 -0
  642. package/src/shiki/langs/es-tag-sql.js +1 -0
  643. package/src/shiki/langs/es-tag-xml.js +1 -0
  644. package/src/shiki/langs/fennel.js +1 -0
  645. package/src/shiki/langs/fish.js +1 -0
  646. package/src/shiki/langs/fluent.js +1 -0
  647. package/src/shiki/langs/fortran-fixed-form.js +1 -0
  648. package/src/shiki/langs/fortran-free-form.js +1 -0
  649. package/src/shiki/langs/fsharp.js +1 -0
  650. package/src/shiki/langs/gdresource.js +1 -0
  651. package/src/shiki/langs/gdscript.js +1 -0
  652. package/src/shiki/langs/gdshader.js +1 -0
  653. package/src/shiki/langs/genie.js +1 -0
  654. package/src/shiki/langs/gherkin.js +1 -0
  655. package/src/shiki/langs/git-commit.js +1 -0
  656. package/src/shiki/langs/git-rebase.js +1 -0
  657. package/src/shiki/langs/gleam.js +1 -0
  658. package/src/shiki/langs/glimmer-js.js +1 -0
  659. package/src/shiki/langs/glimmer-ts.js +1 -0
  660. package/src/shiki/langs/glsl.js +1 -0
  661. package/src/shiki/langs/gnuplot.js +1 -0
  662. package/src/shiki/langs/go.js +1 -0
  663. package/src/shiki/langs/graphql.js +1 -0
  664. package/src/shiki/langs/groovy.js +1 -0
  665. package/src/shiki/langs/hack.js +1 -0
  666. package/src/shiki/langs/haml.js +1 -0
  667. package/src/shiki/langs/handlebars.js +1 -0
  668. package/src/shiki/langs/haskell.js +1 -0
  669. package/src/shiki/langs/haxe.js +1 -0
  670. package/src/shiki/langs/hcl.js +1 -0
  671. package/src/shiki/langs/hjson.js +1 -0
  672. package/src/shiki/langs/hlsl.js +1 -0
  673. package/src/shiki/langs/html-derivative.js +1 -0
  674. package/src/shiki/langs/html.js +1 -0
  675. package/src/shiki/langs/http.js +1 -0
  676. package/src/shiki/langs/hxml.js +1 -0
  677. package/src/shiki/langs/hy.js +1 -0
  678. package/src/shiki/langs/imba.js +1 -0
  679. package/src/shiki/langs/ini.js +1 -0
  680. package/src/shiki/langs/java.js +1 -0
  681. package/src/shiki/langs/javascript.js +1 -0
  682. package/src/shiki/langs/jinja-html.js +1 -0
  683. package/src/shiki/langs/jinja.js +1 -0
  684. package/src/shiki/langs/jison.js +1 -0
  685. package/src/shiki/langs/json.js +1 -0
  686. package/src/shiki/langs/json5.js +1 -0
  687. package/src/shiki/langs/jsonc.js +1 -0
  688. package/src/shiki/langs/jsonl.js +1 -0
  689. package/src/shiki/langs/jsonnet.js +1 -0
  690. package/src/shiki/langs/jssm.js +1 -0
  691. package/src/shiki/langs/jsx.js +1 -0
  692. package/src/shiki/langs/julia.js +1 -0
  693. package/src/shiki/langs/kotlin.js +1 -0
  694. package/src/shiki/langs/kusto.js +1 -0
  695. package/src/shiki/langs/latex.js +1 -0
  696. package/src/shiki/langs/lean.js +1 -0
  697. package/src/shiki/langs/less.js +1 -0
  698. package/src/shiki/langs/liquid.js +1 -0
  699. package/src/shiki/langs/llvm.js +1 -0
  700. package/src/shiki/langs/log.js +1 -0
  701. package/src/shiki/langs/logo.js +1 -0
  702. package/src/shiki/langs/lua.js +1 -0
  703. package/src/shiki/langs/luau.js +1 -0
  704. package/src/shiki/langs/make.js +1 -0
  705. package/src/shiki/langs/markdown-vue.js +1 -0
  706. package/src/shiki/langs/markdown.js +1 -0
  707. package/src/shiki/langs/marko.js +1 -0
  708. package/src/shiki/langs/matlab.js +1 -0
  709. package/src/shiki/langs/mdc.js +1 -0
  710. package/src/shiki/langs/mdx.js +1 -0
  711. package/src/shiki/langs/mermaid.js +1 -0
  712. package/src/shiki/langs/mipsasm.js +1 -0
  713. package/src/shiki/langs/mojo.js +1 -0
  714. package/src/shiki/langs/move.js +1 -0
  715. package/src/shiki/langs/narrat.js +1 -0
  716. package/src/shiki/langs/nextflow.js +1 -0
  717. package/src/shiki/langs/nginx.js +1 -0
  718. package/src/shiki/langs/nim.js +1 -0
  719. package/src/shiki/langs/nix.js +1 -0
  720. package/src/shiki/langs/nushell.js +1 -0
  721. package/src/shiki/langs/objective-c.js +1 -0
  722. package/src/shiki/langs/objective-cpp.js +1 -0
  723. package/src/shiki/langs/ocaml.js +1 -0
  724. package/src/shiki/langs/pascal.js +1 -0
  725. package/src/shiki/langs/perl.js +1 -0
  726. package/src/shiki/langs/php.js +1 -0
  727. package/src/shiki/langs/plsql.js +1 -0
  728. package/src/shiki/langs/po.js +1 -0
  729. package/src/shiki/langs/polar.js +1 -0
  730. package/src/shiki/langs/postcss.js +1 -0
  731. package/src/shiki/langs/powerquery.js +1 -0
  732. package/src/shiki/langs/powershell.js +1 -0
  733. package/src/shiki/langs/prisma.js +1 -0
  734. package/src/shiki/langs/prolog.js +1 -0
  735. package/src/shiki/langs/proto.js +1 -0
  736. package/src/shiki/langs/pug.js +1 -0
  737. package/src/shiki/langs/puppet.js +1 -0
  738. package/src/shiki/langs/purescript.js +1 -0
  739. package/src/shiki/langs/python.js +1 -0
  740. package/src/shiki/langs/qml.js +1 -0
  741. package/src/shiki/langs/qmldir.js +1 -0
  742. package/src/shiki/langs/qss.js +1 -0
  743. package/src/shiki/langs/r.js +1 -0
  744. package/src/shiki/langs/racket.js +1 -0
  745. package/src/shiki/langs/raku.js +1 -0
  746. package/src/shiki/langs/razor.js +1 -0
  747. package/src/shiki/langs/reg.js +1 -0
  748. package/src/shiki/langs/regexp.js +1 -0
  749. package/src/shiki/langs/rel.js +1 -0
  750. package/src/shiki/langs/riscv.js +1 -0
  751. package/src/shiki/langs/rst.js +1 -0
  752. package/src/shiki/langs/ruby.js +1 -0
  753. package/src/shiki/langs/rust.js +1 -0
  754. package/src/shiki/langs/sas.js +1 -0
  755. package/src/shiki/langs/sass.js +1 -0
  756. package/src/shiki/langs/scala.js +1 -0
  757. package/src/shiki/langs/scheme.js +1 -0
  758. package/src/shiki/langs/scss.js +1 -0
  759. package/src/shiki/langs/sdbl.js +1 -0
  760. package/src/shiki/langs/shaderlab.js +1 -0
  761. package/src/shiki/langs/shellscript.js +1 -0
  762. package/src/shiki/langs/shellsession.js +1 -0
  763. package/src/shiki/langs/smalltalk.js +1 -0
  764. package/src/shiki/langs/solidity.js +1 -0
  765. package/src/shiki/langs/soy.js +1 -0
  766. package/src/shiki/langs/sparql.js +1 -0
  767. package/src/shiki/langs/splunk.js +1 -0
  768. package/src/shiki/langs/sql.js +1 -0
  769. package/src/shiki/langs/ssh-config.js +1 -0
  770. package/src/shiki/langs/stata.js +1 -0
  771. package/src/shiki/langs/stylus.js +1 -0
  772. package/src/shiki/langs/svelte.js +1 -0
  773. package/src/shiki/langs/swift.js +1 -0
  774. package/src/shiki/langs/system-verilog.js +1 -0
  775. package/src/shiki/langs/systemd.js +1 -0
  776. package/src/shiki/langs/talonscript.js +1 -0
  777. package/src/shiki/langs/tasl.js +1 -0
  778. package/src/shiki/langs/tcl.js +1 -0
  779. package/src/shiki/langs/templ.js +1 -0
  780. package/src/shiki/langs/terraform.js +1 -0
  781. package/src/shiki/langs/tex.js +1 -0
  782. package/src/shiki/langs/toml.js +1 -0
  783. package/src/shiki/langs/ts-tags.js +1 -0
  784. package/src/shiki/langs/tsv.js +1 -0
  785. package/src/shiki/langs/tsx.js +1 -0
  786. package/src/shiki/langs/turtle.js +1 -0
  787. package/src/shiki/langs/twig.js +1 -0
  788. package/src/shiki/langs/typescript.js +1 -0
  789. package/src/shiki/langs/typespec.js +1 -0
  790. package/src/shiki/langs/typst.js +1 -0
  791. package/src/shiki/langs/v.js +1 -0
  792. package/src/shiki/langs/vala.js +1 -0
  793. package/src/shiki/langs/vb.js +1 -0
  794. package/src/shiki/langs/verilog.js +1 -0
  795. package/src/shiki/langs/vhdl.js +1 -0
  796. package/src/shiki/langs/viml.js +1 -0
  797. package/src/shiki/langs/vue-directives.js +1 -0
  798. package/src/shiki/langs/vue-html.js +1 -0
  799. package/src/shiki/langs/vue-interpolations.js +1 -0
  800. package/src/shiki/langs/vue-sfc-style-variable-injection.js +1 -0
  801. package/src/shiki/langs/vue.js +1 -0
  802. package/src/shiki/langs/vyper.js +1 -0
  803. package/src/shiki/langs/wasm.js +1 -0
  804. package/src/shiki/langs/wenyan.js +1 -0
  805. package/src/shiki/langs/wgsl.js +1 -0
  806. package/src/shiki/langs/wikitext.js +1 -0
  807. package/src/shiki/langs/wit.js +1 -0
  808. package/src/shiki/langs/wolfram.js +1 -0
  809. package/src/shiki/langs/xml.js +1 -0
  810. package/src/shiki/langs/xsl.js +1 -0
  811. package/src/shiki/langs/yaml.js +1 -0
  812. package/src/shiki/langs/zenscript.js +1 -0
  813. package/src/shiki/langs/zig.js +1 -0
  814. package/src/shiki/themes/andromeeda.js +1 -0
  815. package/src/shiki/themes/aurora-x.js +1 -0
  816. package/src/shiki/themes/ayu-dark.js +1 -0
  817. package/src/shiki/themes/catppuccin-frappe.js +1 -0
  818. package/src/shiki/themes/catppuccin-latte.js +1 -0
  819. package/src/shiki/themes/catppuccin-macchiato.js +1 -0
  820. package/src/shiki/themes/catppuccin-mocha.js +1 -0
  821. package/src/shiki/themes/dark-plus.js +1 -0
  822. package/src/shiki/themes/dracula-soft.js +1 -0
  823. package/src/shiki/themes/dracula.js +1 -0
  824. package/src/shiki/themes/everforest-dark.js +1 -0
  825. package/src/shiki/themes/everforest-light.js +1 -0
  826. package/src/shiki/themes/github-dark-default.js +1 -0
  827. package/src/shiki/themes/github-dark-dimmed.js +1 -0
  828. package/src/shiki/themes/github-dark-high-contrast.js +1 -0
  829. package/src/shiki/themes/github-dark.js +1 -0
  830. package/src/shiki/themes/github-light-default.js +1 -0
  831. package/src/shiki/themes/github-light-high-contrast.js +1 -0
  832. package/src/shiki/themes/github-light.js +1 -0
  833. package/src/shiki/themes/gruvbox-dark-hard.js +1 -0
  834. package/src/shiki/themes/gruvbox-dark-medium.js +1 -0
  835. package/src/shiki/themes/gruvbox-dark-soft.js +1 -0
  836. package/src/shiki/themes/gruvbox-light-hard.js +1 -0
  837. package/src/shiki/themes/gruvbox-light-medium.js +1 -0
  838. package/src/shiki/themes/gruvbox-light-soft.js +1 -0
  839. package/src/shiki/themes/houston.js +1 -0
  840. package/src/shiki/themes/kanagawa-dragon.js +1 -0
  841. package/src/shiki/themes/kanagawa-lotus.js +1 -0
  842. package/src/shiki/themes/kanagawa-wave.js +1 -0
  843. package/src/shiki/themes/laserwave.js +1 -0
  844. package/src/shiki/themes/light-plus.js +1 -0
  845. package/src/shiki/themes/material-theme-darker.js +1 -0
  846. package/src/shiki/themes/material-theme-lighter.js +1 -0
  847. package/src/shiki/themes/material-theme-ocean.js +1 -0
  848. package/src/shiki/themes/material-theme-palenight.js +1 -0
  849. package/src/shiki/themes/material-theme.js +1 -0
  850. package/src/shiki/themes/min-dark.js +1 -0
  851. package/src/shiki/themes/min-light.js +1 -0
  852. package/src/shiki/themes/monokai.js +1 -0
  853. package/src/shiki/themes/night-owl.js +1 -0
  854. package/src/shiki/themes/nord.js +1 -0
  855. package/src/shiki/themes/one-dark-pro.js +1 -0
  856. package/src/shiki/themes/one-light.js +1 -0
  857. package/src/shiki/themes/plastic.js +1 -0
  858. package/src/shiki/themes/poimandres.js +1 -0
  859. package/src/shiki/themes/red.js +1 -0
  860. package/src/shiki/themes/rose-pine-dawn.js +1 -0
  861. package/src/shiki/themes/rose-pine-moon.js +1 -0
  862. package/src/shiki/themes/rose-pine.js +1 -0
  863. package/src/shiki/themes/slack-dark.js +1 -0
  864. package/src/shiki/themes/slack-ochin.js +1 -0
  865. package/src/shiki/themes/snazzy-light.js +1 -0
  866. package/src/shiki/themes/solarized-dark.js +1 -0
  867. package/src/shiki/themes/solarized-light.js +1 -0
  868. package/src/shiki/themes/synthwave-84.js +1 -0
  869. package/src/shiki/themes/tokyo-night.js +1 -0
  870. package/src/shiki/themes/vesper.js +1 -0
  871. package/src/shiki/themes/vitesse-black.js +1 -0
  872. package/src/shiki/themes/vitesse-dark.js +1 -0
  873. package/src/shiki/themes/vitesse-light.js +1 -0
  874. package/client.d.ts +0 -8
  875. package/dist/cli/dev/pagefind-command.d.ts +0 -3
  876. package/dist/cli/dev/pagefind-command.js +0 -59
  877. package/dist/cli/dev/pagefind-command.js.map +0 -1
  878. package/dist/lib/components/context/PluginSystem.js +0 -2
  879. package/dist/lib/components/context/PluginSystem.js.map +0 -1
  880. package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +0 -7
  881. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +0 -1
  882. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +0 -1
  883. package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +0 -1
  884. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +0 -1
  885. package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +0 -1
  886. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +0 -104
  887. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +0 -1
  888. package/dist/lib/plugins/openapi/post-processors/traverse.js.map +0 -1
  889. package/dist/zuplo/env.d.ts +0 -7
  890. package/dist/zuplo/env.js +0 -12
  891. package/dist/zuplo/env.js.map +0 -1
  892. package/lib/AuthenticationPlugin-foqdvvkf.js +0 -58
  893. package/lib/AuthenticationPlugin-foqdvvkf.js.map +0 -1
  894. package/lib/Drawer-kDAfOq_2.js.map +0 -1
  895. package/lib/Markdown-aF5FdsNi.js +0 -16960
  896. package/lib/Markdown-aF5FdsNi.js.map +0 -1
  897. package/lib/MdxPage-ZW1StNhp.js +0 -83
  898. package/lib/MdxPage-ZW1StNhp.js.map +0 -1
  899. package/lib/OasProvider-OlYb8W57.js +0 -34
  900. package/lib/OperationList-BvfIzVRx.js.map +0 -1
  901. package/lib/Pagination-CYB3nVYx.js +0 -46
  902. package/lib/Pagination-CYB3nVYx.js.map +0 -1
  903. package/lib/SchemaList-Bi35O4XD.js.map +0 -1
  904. package/lib/SchemaView-D7MC5cjz.js +0 -356
  905. package/lib/SchemaView-D7MC5cjz.js.map +0 -1
  906. package/lib/Select-DVFRKf1R.js +0 -223
  907. package/lib/SlotletProvider-DXvc0aY6.js +0 -338
  908. package/lib/SlotletProvider-DXvc0aY6.js.map +0 -1
  909. package/lib/SyntaxHighlight-BEoSoPEo.js +0 -2890
  910. package/lib/SyntaxHighlight-BEoSoPEo.js.map +0 -1
  911. package/lib/Toc-YBsgI72s.js.map +0 -1
  912. package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
  913. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  914. package/lib/chunk-HA7DTUK3-C4gP41vD.js.map +0 -1
  915. package/lib/circular-ByJI6Mci.js.map +0 -1
  916. package/lib/context-DLCwaMXN.js +0 -22
  917. package/lib/context-DLCwaMXN.js.map +0 -1
  918. package/lib/createServer-mMau3eV_.js.map +0 -1
  919. package/lib/hook-CqpVYDqN.js +0 -1483
  920. package/lib/hook-CqpVYDqN.js.map +0 -1
  921. package/lib/index-Bt7MKhZq.js +0 -2514
  922. package/lib/index-Bt7MKhZq.js.map +0 -1
  923. package/lib/index-CXfEwK_7.js +0 -2226
  924. package/lib/index-CXfEwK_7.js.map +0 -1
  925. package/lib/index-Dl3Yl0yb.js.map +0 -1
  926. package/lib/index-gQD2h1wX.js +0 -447
  927. package/lib/index-gQD2h1wX.js.map +0 -1
  928. package/lib/index.esm--gIChbWs.js +0 -1207
  929. package/lib/index.esm--gIChbWs.js.map +0 -1
  930. package/lib/invariant-Caa8-XvF.js +0 -26
  931. package/lib/jsx-runtime-CYK1ROHF.js +0 -446
  932. package/lib/jsx-runtime-CYK1ROHF.js.map +0 -1
  933. package/lib/mutation-8LjrN7uz.js +0 -208
  934. package/lib/mutation-8LjrN7uz.js.map +0 -1
  935. package/lib/objectEntries-BS7aAgOm.js +0 -12
  936. package/lib/objectEntries-BS7aAgOm.js.map +0 -1
  937. package/lib/post-processors/removeExtensions.js.map +0 -1
  938. package/lib/post-processors/removeParameters.js +0 -48
  939. package/lib/post-processors/removeParameters.js.map +0 -1
  940. package/lib/post-processors/removePaths.js +0 -28
  941. package/lib/post-processors/removePaths.js.map +0 -1
  942. package/lib/post-processors/traverse.js +0 -15
  943. package/lib/post-processors/traverse.js.map +0 -1
  944. package/lib/prism-bash.min-HHIMdNJ_.js +0 -7
  945. package/lib/prism-bash.min-HHIMdNJ_.js.map +0 -1
  946. package/lib/prism-csharp.min-bQAo2pmx.js +0 -63
  947. package/lib/prism-csharp.min-bQAo2pmx.js.map +0 -1
  948. package/lib/prism-java.min-BpvsOuIa.js +0 -35
  949. package/lib/prism-java.min-BpvsOuIa.js.map +0 -1
  950. package/lib/prism-javascript.min-CEqHqgbm.js +0 -9
  951. package/lib/prism-javascript.min-CEqHqgbm.js.map +0 -1
  952. package/lib/prism-json.min-B1GJqK1k.js +0 -2
  953. package/lib/prism-json.min-B1GJqK1k.js.map +0 -1
  954. package/lib/prism-jsstacktrace.min-BfobCF2F.js +0 -2
  955. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +0 -1
  956. package/lib/prism-markdown.min-C0Qn0m-5.js +0 -61
  957. package/lib/prism-markdown.min-C0Qn0m-5.js.map +0 -1
  958. package/lib/prism-markup-BNGj0Tvm.js +0 -174
  959. package/lib/prism-markup-BNGj0Tvm.js.map +0 -1
  960. package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
  961. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +0 -1
  962. package/lib/prism-ruby.min-Dx9KO9ds.js +0 -38
  963. package/lib/prism-ruby.min-Dx9KO9ds.js.map +0 -1
  964. package/lib/prism-typescript.min-CD7H2IYQ.js +0 -34
  965. package/lib/prism-typescript.min-CD7H2IYQ.js.map +0 -1
  966. package/src/lib/components/context/PluginSystem.ts +0 -0
  967. package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +0 -126
  968. /package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.d.ts +0 -0
  969. /package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.d.ts +0 -0
  970. /package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.test.d.ts +0 -0
  971. /package/dist/lib/plugins/openapi/{post-processors → processors}/traverse.d.ts +0 -0
  972. /package/dist/lib/plugins/openapi/{post-processors → processors}/traverse.js +0 -0
  973. /package/dist/lib/{components/context/PluginSystem.d.ts → util/url.test.d.ts} +0 -0
  974. /package/src/lib/plugins/openapi/{post-processors → processors}/traverse.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zudoku",
3
- "version": "0.0.0-f471fb8",
3
+ "version": "0.0.0-f52e8af",
4
4
  "type": "module",
5
5
  "homepage": "https://zudoku.dev",
6
6
  "repository": {
@@ -17,6 +17,7 @@
17
17
  "cli.js",
18
18
  "src/lib",
19
19
  "src/app",
20
+ "src/shiki",
20
21
  "client.d.ts"
21
22
  ],
22
23
  "bin": {
@@ -98,9 +99,9 @@
98
99
  "import": "./lib/zudoku.components.js",
99
100
  "types": "./dist/lib/components/index.d.ts"
100
101
  },
101
- "./post-processors/*": {
102
- "import": "./lib/post-processors/*.js",
103
- "types": "./dist/lib/plugins/openapi/post-processors/*.d.ts"
102
+ "./processors/*": {
103
+ "import": "./lib/processors/*.js",
104
+ "types": "./dist/lib/plugins/openapi/processors/*.d.ts"
104
105
  },
105
106
  "./icons": {
106
107
  "import": "./lib/zudoku.icons.js",
@@ -118,6 +119,10 @@
118
119
  "require": "./src/app/main.css",
119
120
  "import": "./src/app/main.css"
120
121
  },
122
+ "./shiki/*": {
123
+ "require": "./src/shiki/*.js",
124
+ "import": "./src/shiki/*.js"
125
+ },
121
126
  "./app/*": {
122
127
  "import": "./src/app/*"
123
128
  },
@@ -127,63 +132,67 @@
127
132
  }
128
133
  },
129
134
  "dependencies": {
130
- "@apidevtools/json-schema-ref-parser": "11.9.3",
131
- "@envelop/core": "5.0.3",
135
+ "@apidevtools/json-schema-ref-parser": "12.0.2",
136
+ "@envelop/core": "5.2.3",
132
137
  "@graphql-typed-document-node/core": "3.2.0",
133
138
  "@hookform/resolvers": "4.1.3",
134
139
  "@lekoarts/rehype-meta-as-attributes": "3.0.2",
135
140
  "@mdx-js/react": "3.1.0",
136
141
  "@mdx-js/rollup": "3.1.0",
137
- "@pothos/core": "4.5.0",
138
- "@radix-ui/react-accordion": "1.2.3",
139
- "@radix-ui/react-alert-dialog": "1.1.6",
140
- "@radix-ui/react-aspect-ratio": "1.1.2",
141
- "@radix-ui/react-checkbox": "1.1.4",
142
- "@radix-ui/react-collapsible": "1.1.3",
143
- "@radix-ui/react-dialog": "1.1.6",
144
- "@radix-ui/react-dropdown-menu": "2.1.6",
145
- "@radix-ui/react-hover-card": "1.1.6",
146
- "@radix-ui/react-label": "2.1.2",
147
- "@radix-ui/react-popover": "1.1.6",
148
- "@radix-ui/react-progress": "1.1.2",
149
- "@radix-ui/react-radio-group": "1.2.3",
150
- "@radix-ui/react-scroll-area": "1.2.3",
151
- "@radix-ui/react-select": "2.1.6",
152
- "@radix-ui/react-slider": "1.2.3",
153
- "@radix-ui/react-slot": "1.1.2",
154
- "@radix-ui/react-switch": "1.1.3",
155
- "@radix-ui/react-tabs": "1.1.3",
156
- "@radix-ui/react-toggle": "1.1.2",
157
- "@radix-ui/react-toggle-group": "1.1.2",
158
- "@radix-ui/react-tooltip": "1.1.8",
159
- "@radix-ui/react-visually-hidden": "1.1.2",
160
- "@scalar/openapi-parser": "0.10.12",
161
- "@sentry/node": "9.1.0",
142
+ "@pothos/core": "4.6.0",
143
+ "@radix-ui/react-accordion": "1.2.10",
144
+ "@radix-ui/react-alert-dialog": "1.1.13",
145
+ "@radix-ui/react-aspect-ratio": "1.1.6",
146
+ "@radix-ui/react-checkbox": "1.3.1",
147
+ "@radix-ui/react-collapsible": "1.1.10",
148
+ "@radix-ui/react-dialog": "1.1.13",
149
+ "@radix-ui/react-dropdown-menu": "2.1.14",
150
+ "@radix-ui/react-hover-card": "1.1.13",
151
+ "@radix-ui/react-label": "2.1.6",
152
+ "@radix-ui/react-popover": "1.1.13",
153
+ "@radix-ui/react-progress": "1.1.6",
154
+ "@radix-ui/react-radio-group": "1.3.6",
155
+ "@radix-ui/react-scroll-area": "1.2.8",
156
+ "@radix-ui/react-select": "2.2.4",
157
+ "@radix-ui/react-slider": "1.3.4",
158
+ "@radix-ui/react-slot": "1.2.2",
159
+ "@radix-ui/react-switch": "1.2.4",
160
+ "@radix-ui/react-tabs": "1.1.11",
161
+ "@radix-ui/react-toggle": "1.1.8",
162
+ "@radix-ui/react-toggle-group": "1.1.9",
163
+ "@radix-ui/react-tooltip": "1.2.6",
164
+ "@radix-ui/react-visually-hidden": "1.2.2",
165
+ "@scalar/openapi-parser": "0.10.17",
166
+ "@sentry/node": "9.12.0",
167
+ "@shikijs/langs": "3.2.2",
168
+ "@shikijs/rehype": "3.2.2",
169
+ "@shikijs/themes": "3.2.2",
170
+ "@shikijs/transformers": "3.3.0",
162
171
  "@sindresorhus/slugify": "2.2.1",
163
- "@stefanprobst/rehype-extract-toc": "2.2.1",
172
+ "@stefanprobst/rehype-extract-toc": "3.0.0",
164
173
  "@tailwindcss/typography": "0.5.16",
165
174
  "@tanem/react-nprogress": "5.0.55",
166
- "@tanstack/react-query": "5.66.6",
167
- "@types/react": "19.0.10",
168
- "@types/react-dom": "19.0.4",
169
- "@vitejs/plugin-react": "4.3.4",
175
+ "@tanstack/react-query": "5.74.3",
176
+ "@types/react": "19.1.1",
177
+ "@types/react-dom": "19.1.2",
178
+ "@vitejs/plugin-react": "4.4.1",
170
179
  "@zudoku/httpsnippet": "10.0.9",
171
180
  "@zudoku/react-helmet-async": "2.0.5",
181
+ "allof-merge": "0.6.6",
172
182
  "autoprefixer": "10.4.21",
173
183
  "class-variance-authority": "0.7.1",
174
184
  "clsx": "2.1.1",
175
- "cmdk": "1.0.4",
185
+ "cmdk": "1.1.1",
176
186
  "devlop": "^1.1.0",
177
- "dotenv": "16.4.7",
178
- "embla-carousel-react": "8.5.2",
179
- "esm-loader-css": "^1.0.3",
180
- "estree-util-value-to-estree": "3.3.2",
181
- "express": "4.21.2",
187
+ "dotenv": "16.5.0",
188
+ "embla-carousel-react": "8.6.0",
189
+ "estree-util-value-to-estree": "3.3.3",
190
+ "express": "5.1.0",
182
191
  "fast-equals": "5.2.2",
183
192
  "glob": "11.0.1",
184
193
  "graphql": "16.10.0",
185
194
  "graphql-type-json": "0.3.2",
186
- "graphql-yoga": "5.13.2",
195
+ "graphql-yoga": "5.13.3",
187
196
  "gray-matter": "4.0.3",
188
197
  "hast-util-to-jsx-runtime": "^2.3.6",
189
198
  "hast-util-to-string": "3.0.1",
@@ -191,7 +200,7 @@
191
200
  "http-terminator": "3.2.0",
192
201
  "loglevel": "1.9.2",
193
202
  "lru-cache": "11.0.2",
194
- "lucide-react": "0.475.0",
203
+ "lucide-react": "0.488.0",
195
204
  "minimatch": "10.0.1",
196
205
  "nanoevents": "^9.1.0",
197
206
  "next-themes": "0.4.4",
@@ -200,16 +209,16 @@
200
209
  "openapi-types": "12.1.3",
201
210
  "pagefind": "1.4.0-alpha.1",
202
211
  "picocolors": "1.1.1",
203
- "piscina": "5.0.0-alpha.1",
212
+ "piscina": "5.0.0-alpha.2",
204
213
  "postcss": "8.5.3",
205
- "posthog-node": "4.8.1",
206
- "prism-react-renderer": "2.4.1",
207
- "prismjs": "1.30.0",
214
+ "posthog-node": "4.17.1",
208
215
  "react-error-boundary": "5.0.0",
209
- "react-hook-form": "7.54.2",
210
- "react-is": "19.0.0",
211
- "react-router": "7.2.0",
216
+ "react-hook-form": "7.55.0",
217
+ "react-is": "19.1.0",
218
+ "react-markdown": "10.1.0",
219
+ "react-router": "7.5.2",
212
220
  "rehype-mdx-import-media": "1.2.0",
221
+ "rehype-pretty-code": "0.14.1",
213
222
  "rehype-raw": "7.0.0",
214
223
  "rehype-slug": "6.0.0",
215
224
  "remark-comment": "1.0.0",
@@ -217,25 +226,25 @@
217
226
  "remark-directive-rehype": "0.4.2",
218
227
  "remark-frontmatter": "5.0.0",
219
228
  "remark-gfm": "4.0.1",
220
- "remark-mdx-frontmatter": "5.0.0",
229
+ "remark-mdx-frontmatter": "5.1.0",
221
230
  "remark-parse": "^11.0.0",
222
- "remark-rehype": "^11.1.1",
223
- "rollup": "4.35.0",
231
+ "remark-rehype": "^11.1.2",
232
+ "rollup": "4.40.1",
224
233
  "semver": "7.7.1",
234
+ "shiki": "3.3.0",
225
235
  "sitemap": "8.0.0",
226
236
  "spin-delay": "2.0.1",
227
237
  "strip-ansi": "7.1.0",
228
238
  "tailwind-merge": "2.6.0",
229
239
  "tailwindcss": "3.4.17",
230
- "tsx": "^4.19.3",
231
240
  "ulidx": "2.4.1",
232
241
  "unified": "^11.0.5",
233
242
  "unist-util-visit": "5.0.0",
234
243
  "urql": "4.2.1",
235
244
  "vaul": "1.1.2",
236
245
  "vfile": "6.0.3",
237
- "vite": "6.2.0",
238
- "yaml": "2.7.0",
246
+ "vite": "6.3.5",
247
+ "yaml": "2.7.1",
239
248
  "yargs": "17.7.2",
240
249
  "zod": "3.24.2",
241
250
  "zod-validation-error": "3.4.0",
@@ -243,10 +252,10 @@
243
252
  },
244
253
  "devDependencies": {
245
254
  "@graphql-codegen/cli": "5.0.5",
246
- "@graphql-codegen/client-preset": "4.7.0",
247
- "@testing-library/react": "16.2.0",
255
+ "@graphql-codegen/client-preset": "4.8.0",
256
+ "@testing-library/react": "16.3.0",
248
257
  "@types/estree": "1.0.7",
249
- "@types/express": "5.0.0",
258
+ "@types/express": "5.0.1",
250
259
  "@types/har-format": "1.2.16",
251
260
  "@types/hast": "^3.0.4",
252
261
  "@types/json-schema": "7.0.15",
@@ -255,31 +264,31 @@
255
264
  "@types/node": "22.13.5",
256
265
  "@types/object-hash": "3.0.6",
257
266
  "@types/react-is": "19.0.0",
258
- "@types/semver": "7.5.8",
267
+ "@types/semver": "7.7.0",
259
268
  "@types/unist": "^3.0.3",
260
269
  "@types/yargs": "17.0.33",
261
- "@vitest/coverage-v8": "3.0.5",
262
- "happy-dom": "17.1.1",
270
+ "@vitest/coverage-v8": "3.1.1",
271
+ "happy-dom": "17.4.4",
263
272
  "mdast-util-mdx": "3.0.0",
264
- "react": "19.0.0",
265
- "react-dom": "19.0.0",
273
+ "react": "19.1.0",
274
+ "react-dom": "19.1.0",
266
275
  "rollup-plugin-visualizer": "5.14.0",
267
- "typescript": "5.7.3",
268
- "vitest": "3.0.5"
276
+ "typescript": "5.8.3",
277
+ "vitest": "3.1.1"
269
278
  },
270
279
  "peerDependencies": {
271
280
  "react": ">=19",
272
281
  "react-dom": ">=19"
273
282
  },
274
283
  "optionalDependencies": {
275
- "@clerk/clerk-js": "^5.52.3",
276
- "@sentry/react": "^9.1.0",
277
- "@supabase/supabase-js": "^2.49.1"
284
+ "@clerk/clerk-js": "^5.63.1",
285
+ "@sentry/react": "^9.12.0",
286
+ "@supabase/supabase-js": "^2.49.4"
278
287
  },
279
288
  "scripts": {
280
- "build": "tsc --project tsconfig.app.json",
289
+ "build": "tsc --project tsconfig.app.json --incremental",
281
290
  "build:vite": "vite build",
282
- "generate:icon-types": "tsx ./scripts/generate-icon-types.ts",
291
+ "generate:types": "node scripts/generate-types.js",
283
292
  "build:standalone:vite": "vite build --mode standalone --config vite.standalone.config.ts",
284
293
  "build:standalone:html": "cp ./src/app/standalone.html ./standalone/standalone.html && cp ./src/app/demo.html ./standalone/demo.html && cp ./src/app/demo-cdn.html ./standalone/index.html && cp standalone/zudoku.css standalone/style.css",
285
294
  "clean": "tsc --build --clean",
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+
3
+ export const EntitlementsSchema = z.object({
4
+ devPortalZuploBranding: z.boolean(),
5
+ numberOfProjects: z.number(),
6
+ numberOfUsers: z.number(),
7
+ egressGbPerMonth: z.number(),
8
+ requestsPerMonth: z.number(),
9
+ numberOfApiKeys: z.number(),
10
+ customDomains: z.number(),
11
+ advancedAnalyticsEnabled: z.boolean(),
12
+ devPortalAnalyticsEnabled: z.boolean(),
13
+ premiumSupport: z.boolean(),
14
+ emergencyPhoneSupport: z.boolean(),
15
+ rbacEnabled: z.boolean(),
16
+ onPremEnabled: z.boolean(),
17
+ largeBuildRunners: z.boolean(),
18
+ });
19
+
20
+ export const BuildConfigSchema = z.object({
21
+ entitlements: EntitlementsSchema,
22
+ environmentType: z.string(),
23
+ deploymentName: z.string(),
24
+ deploymentUrl: z.string(),
25
+ projectId: z.string(),
26
+ projectType: z.string(),
27
+ sourceType: z.string(),
28
+ accountName: z.string(),
29
+ projectName: z.string(),
30
+ });
31
+
32
+ export type BuildConfig = z.infer<typeof BuildConfigSchema>;
33
+ export type Entitlements = z.infer<typeof EntitlementsSchema>;
package/src/app/demo.html CHANGED
@@ -13,7 +13,7 @@
13
13
  />
14
14
  <title>Zudoku Demo</title>
15
15
  <script type="module" crossorigin src="./demo.js"></script>
16
- <link rel="stylesheet" crossorigin href="./style.css" />
16
+ <link rel="stylesheet" crossorigin href="./zudoku.css" />
17
17
  </head>
18
18
  <body>
19
19
  <div id="root"></div>
@@ -34,6 +34,47 @@ if (root.childElementCount > 0) {
34
34
  void render(routes);
35
35
  }
36
36
 
37
+ if (import.meta.env.IS_ZUPLO) {
38
+ // eslint-disable-next-line no-console
39
+ console.log(
40
+ `%cPowered by Zuplo v${window.ZUDOKU_VERSION}`,
41
+ [
42
+ "color: #Df0097",
43
+ "line-height: 50px",
44
+ "font-weight: bolder",
45
+ "font-size: 15px",
46
+ "text-align: center",
47
+ "letter-spacing: 5px",
48
+ ].join(" ;"),
49
+ );
50
+ } else {
51
+ // eslint-disable-next-line no-console
52
+ console.log(
53
+ `%cZUDOKU%c by Zuplo v${window.ZUDOKU_VERSION}`,
54
+ [
55
+ "color: #FF00BD",
56
+ "line-height: 50px",
57
+ "font-weight: bolder",
58
+ "font-size: 30px",
59
+ "-webkit-text-stroke-width: 1px",
60
+ "-webkit-text-stroke-color: #FF00BD",
61
+ "text-transform: uppercase",
62
+ "text-align: center",
63
+ "letter-spacing: 5px",
64
+ ].join(" ;"),
65
+ [
66
+ "color: #Df0097",
67
+ "line-height: 50px",
68
+ "font-weight: bolder",
69
+ "font-size: 15px",
70
+ "text-align: center",
71
+ "letter-spacing: 5px",
72
+ ].join(" ;"),
73
+ );
74
+ // eslint-disable-next-line no-console
75
+ console.log("» Learn more about Zudoku https://zudoku.dev");
76
+ }
77
+
37
78
  async function hydrateLazyRoutes(routes: RouteObject[]) {
38
79
  const path = window.location.pathname;
39
80
  const lazyMatches = matchRoutes(routes, path, config.basePath)?.filter(
@@ -43,6 +84,8 @@ async function hydrateLazyRoutes(routes: RouteObject[]) {
43
84
  if (lazyMatches?.length) {
44
85
  await Promise.all(
45
86
  lazyMatches.map(async (m) => {
87
+ if (typeof m.route.lazy !== "function") return;
88
+
46
89
  const routeModule = await m.route.lazy!();
47
90
  Object.assign(m.route, { ...routeModule, lazy: undefined });
48
91
  }),
@@ -14,7 +14,7 @@ import "virtual:zudoku-theme.css";
14
14
  import "vite/modulepreload-polyfill";
15
15
  import { BootstrapStatic, ServerError } from "zudoku/components";
16
16
  import { NO_DEHYDRATE } from "../lib/components/cache.js";
17
- import type { FileWritingResponse } from "../vite/prerender/FileWritingResponse.js";
17
+ import type { PrerenderResponse } from "../vite/prerender/PrerenderResponse.js";
18
18
  import "./main.css";
19
19
  import { getRoutesByConfig } from "./main.js";
20
20
  export { getRoutesByConfig };
@@ -25,12 +25,14 @@ export const render = async ({
25
25
  response,
26
26
  routes,
27
27
  basePath,
28
+ bypassProtection,
28
29
  }: {
29
30
  template: string;
30
31
  request: express.Request | Request;
31
- response: express.Response | FileWritingResponse;
32
+ response: express.Response | PrerenderResponse;
32
33
  routes: RouteObject[];
33
34
  basePath?: string;
35
+ bypassProtection?: boolean;
34
36
  }) => {
35
37
  const { query, dataRoutes } = createStaticHandler(routes, {
36
38
  basename: basePath,
@@ -73,6 +75,7 @@ export const render = async ({
73
75
  context={context}
74
76
  queryClient={queryClient}
75
77
  helmetContext={helmetContext}
78
+ bypassProtection={bypassProtection}
76
79
  />
77
80
  );
78
81
 
@@ -143,7 +146,7 @@ export const render = async ({
143
146
 
144
147
  export function createFetchRequest(
145
148
  req: express.Request,
146
- res: express.Response | FileWritingResponse,
149
+ res: express.Response | PrerenderResponse,
147
150
  ): Request {
148
151
  const origin = `${req.protocol}://${req.get("host")}`;
149
152
  // Note: This had to take originalUrl into account for presumably vite's proxying
package/src/app/env.ts ADDED
@@ -0,0 +1,35 @@
1
+ import { BuildConfigSchema } from "./ZuploBuildConfig.js";
2
+
3
+ const getZuploBuildConfig = () => {
4
+ if (!process.env.ZUPLO_BUILD_CONFIG) return undefined;
5
+
6
+ try {
7
+ const zuploBuildConfig = BuildConfigSchema.parse(
8
+ JSON.parse(process.env.ZUPLO_BUILD_CONFIG),
9
+ );
10
+ return zuploBuildConfig;
11
+ } catch (error) {
12
+ // eslint-disable-next-line no-console
13
+ console.error(
14
+ "ZUPLO_BUILD_CONFIG is a reserved environment variable and cannot be used for custom configuration. Please remove it from your environment variables.",
15
+ );
16
+ // eslint-disable-next-line no-console
17
+ console.log(error);
18
+ return undefined;
19
+ }
20
+ };
21
+
22
+ export const ZuploEnv = {
23
+ /**
24
+ * Indicates that the build is running in Zuplo "mode"
25
+ */
26
+ get isZuplo(): boolean {
27
+ return process.env.ZUPLO === "1";
28
+ },
29
+
30
+ get serverUrl(): string | undefined {
31
+ return process.env.ZUPLO_SERVER_URL;
32
+ },
33
+
34
+ buildConfig: getZuploBuildConfig(),
35
+ };
package/src/app/main.css CHANGED
@@ -96,7 +96,12 @@
96
96
 
97
97
  html {
98
98
  /* This is to prevent layout jumping when the scrollbar appears/disappears */
99
- @apply -mr-[--scrollbar-width] scroll-pt-[--scroll-padding];
99
+ @apply -me-[--scrollbar-width] scroll-pt-[--scroll-padding];
100
+ --dark: -1;
101
+ }
102
+
103
+ html.dark {
104
+ --dark: 1;
100
105
  }
101
106
 
102
107
  html,
@@ -127,15 +132,22 @@
127
132
  @apply bg-primary/100 text-primary-foreground;
128
133
  }
129
134
 
135
+ .bg-primary::selection,
136
+ .bg-primary ::selection {
137
+ background: theme(colors.background);
138
+ color: theme(colors.foreground);
139
+ }
140
+
130
141
  .dark {
131
142
  color-scheme: dark;
132
143
  }
133
144
 
134
145
  .prose.prose {
135
- @apply prose-a:underline-offset-4 hover:prose-a:text-primary;
146
+ @apply prose-a:underline-offset-4 prose-a:font-normal hover:prose-a:text-primary;
136
147
  @apply prose-blockquote:not-italic prose-blockquote:text-neutral-500/75 prose-blockquote:dark:text-neutral-400;
137
- @apply prose-headings:prose-code:mx-2;
138
- @apply prose-code:before:content-none prose-code:after:content-none;
148
+ @apply prose-code:before:content-none prose-code:after:content-none prose-code:font-normal;
149
+ @apply prose-headings:prose-code:mx-2 prose-li:my-0.5;
150
+ @apply prose-hr:border-border;
139
151
 
140
152
  ul.contains-task-list {
141
153
  @apply list-none px-0;
@@ -145,6 +157,51 @@
145
157
  }
146
158
  }
147
159
 
160
+ .shiki {
161
+ counter-reset: line;
162
+ @apply leading-normal;
163
+ }
164
+ .code-block .shiki {
165
+ @apply grid;
166
+ }
167
+
168
+ .shiki,
169
+ .shiki span {
170
+ color: var(--shiki-light);
171
+ font-style: var(--shiki-light-font-style) !important;
172
+ font-weight: var(--shiki-light-font-weight) !important;
173
+ text-decoration: var(--shiki-light-text-decoration) !important;
174
+ }
175
+
176
+ html.dark .shiki,
177
+ html.dark .shiki span {
178
+ color: var(--shiki-dark);
179
+ font-style: var(--shiki-dark-font-style) !important;
180
+ font-weight: var(--shiki-dark-font-weight) !important;
181
+ text-decoration: var(--shiki-dark-text-decoration) !important;
182
+ }
183
+
184
+ .line-numbers .shiki .line::before {
185
+ counter-increment: line;
186
+ content: counter(line);
187
+ @apply tabular-nums inline-flex items-baseline justify-end me-4 w-3 text-muted-foreground/25;
188
+ }
189
+
190
+ .shiki.not-inline .line {
191
+ @apply inline-flex items-baseline -mx-4 px-4 w-[calc(100%+2rem)];
192
+ --highlighted-bg: hsl(
193
+ from hsl(var(--muted)) h s calc(l + 4 * var(--dark)) / 50%
194
+ );
195
+ }
196
+ .shiki .line.highlighted {
197
+ @apply bg-[--highlighted-bg];
198
+ }
199
+
200
+ .shiki .highlighted-word {
201
+ @apply bg-[--highlighted-bg] px-0.5 rounded;
202
+ box-shadow: 0 0 0 4px var(--highlighted-bg);
203
+ }
204
+
148
205
  select {
149
206
  @apply focus-visible:ring-primary focus-visible:ring-[1.5px] focus:outline-none;
150
207
  }
@@ -320,15 +377,15 @@
320
377
 
321
378
  /* Bullet with number */
322
379
  .stepper > ol > li::before {
323
- @apply absolute left-0 flex items-center justify-center size-[--bullet-size];
380
+ @apply absolute start-0 flex items-center justify-center size-[--bullet-size];
324
381
  @apply bg-muted/80 border border-border text-muted-foreground text-[calc(var(--bullet-size)/2)] font-semibold rounded-full;
325
382
  content: counter(step-counter);
326
383
  }
327
384
 
328
385
  /* Vertical line */
329
386
  .stepper > ol > li::after {
330
- @apply absolute content-[''] w-[2px] bg-border -translate-x-1/2;
331
- left: calc(var(--bullet-size) / 2);
387
+ @apply absolute content-[''] w-[2px] bg-border -translate-x-1/2 rtl:translate-x-1/2;
388
+ inset-inline-start: calc(var(--bullet-size) / 2);
332
389
  top: calc(var(--bullet-size) + var(--line-spacing));
333
390
  height: calc(100% - var(--bullet-size) - (2 * var(--line-spacing)));
334
391
  }
package/src/app/main.tsx CHANGED
@@ -9,9 +9,11 @@ import { configuredCustomPagesPlugin } from "virtual:zudoku-custom-pages-plugin"
9
9
  import { configuredDocsPlugins } from "virtual:zudoku-docs-plugins";
10
10
  import { configuredRedirectPlugin } from "virtual:zudoku-redirect-plugin";
11
11
  import { configuredSearchPlugin } from "virtual:zudoku-search-plugin";
12
+ import { registerShiki } from "virtual:zudoku-shiki-register";
12
13
  import { configuredSidebar } from "virtual:zudoku-sidebar";
13
14
  import "virtual:zudoku-theme.css";
14
15
  import {
16
+ BuildCheck,
15
17
  Layout,
16
18
  RouteGuard,
17
19
  RouterError,
@@ -21,6 +23,10 @@ import {
21
23
  import type { ZudokuConfig } from "../config/config.js";
22
24
  import type { ZudokuContextOptions } from "../lib/core/ZudokuContext.js";
23
25
  import { isNavigationPlugin } from "../lib/core/plugins.js";
26
+ import { highlighter } from "../lib/shiki.js";
27
+ import { ZuploEnv } from "./env.js";
28
+
29
+ await registerShiki(highlighter);
24
30
 
25
31
  export const convertZudokuConfigToOptions = (
26
32
  config: ZudokuConfig,
@@ -43,6 +49,9 @@ export const convertZudokuConfigToOptions = (
43
49
  protectedRoutes: config.protectedRoutes,
44
50
  page: {
45
51
  ...config.page,
52
+ showPoweredBy:
53
+ ZuploEnv.buildConfig?.entitlements.devPortalZuploBranding ??
54
+ config.page?.showPoweredBy,
46
55
  logo: {
47
56
  ...(isUsingFallback ? { width: "130px" } : {}),
48
57
  ...config.page?.logo,
@@ -75,6 +84,10 @@ export const convertZudokuConfigToOptions = (
75
84
  : []),
76
85
  ...(config.plugins ?? []),
77
86
  ],
87
+ syntaxHighlighting: {
88
+ highlighter,
89
+ themes: config.syntaxHighlighting?.themes,
90
+ },
78
91
  };
79
92
  };
80
93
 
@@ -115,12 +128,22 @@ export const getRoutesByOptions = (
115
128
 
116
129
  export const getRoutesByConfig = (config: ZudokuConfig): RouteObject[] => {
117
130
  const options = convertZudokuConfigToOptions(config);
118
- const routes = getRoutesByOptions(options, config.enableStatusPages);
131
+ const routes = getRoutesByOptions(
132
+ options,
133
+ import.meta.env.IS_ZUPLO || config.enableStatusPages,
134
+ );
119
135
 
120
136
  return [
121
137
  {
122
138
  element: (
123
139
  <Zudoku {...options}>
140
+ <BuildCheck
141
+ buildId={
142
+ import.meta.env.IS_ZUPLO && import.meta.env.ZUPLO_BUILD_ID
143
+ ? import.meta.env.ZUPLO_BUILD_ID
144
+ : undefined
145
+ }
146
+ />
124
147
  <Layout />
125
148
  </Zudoku>
126
149
  ),
@@ -1,18 +1,28 @@
1
1
  import { useSuspenseQuery } from "@tanstack/react-query";
2
2
  import { Navigate } from "react-router";
3
+ import { useZudoku } from "zudoku/components";
3
4
  import { ZudokuError } from "../../util/invariant.js";
5
+ import { joinUrl } from "../../util/joinUrl.js";
6
+ import { normalizeRedirectUrl } from "../../util/url.js";
4
7
 
5
8
  export function CallbackHandler({
6
9
  handleCallback,
7
10
  }: {
8
11
  handleCallback: () => Promise<string>;
9
12
  }) {
13
+ const { options } = useZudoku();
10
14
  const executeCallback = useSuspenseQuery({
11
15
  retry: false,
12
16
  queryKey: ["oauth-callback"],
13
17
  queryFn: async () => {
14
18
  try {
15
- return await handleCallback();
19
+ return joinUrl(
20
+ normalizeRedirectUrl(
21
+ await handleCallback(),
22
+ window.location.origin,
23
+ options.basePath,
24
+ ),
25
+ );
16
26
  } catch (error) {
17
27
  throw new ZudokuError("Could not validate user", {
18
28
  cause: error,