zudoku 0.0.0-ec30b50 → 0.0.0-ed94abf

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 (900) hide show
  1. package/README.md +1 -1
  2. package/cli.js +3 -0
  3. package/dist/app/entry.client.d.ts +5 -0
  4. package/dist/app/entry.client.js +3 -0
  5. package/dist/app/entry.client.js.map +1 -1
  6. package/dist/app/entry.server.d.ts +8 -6
  7. package/dist/app/entry.server.js +12 -8
  8. package/dist/app/entry.server.js.map +1 -1
  9. package/dist/app/main.js +10 -5
  10. package/dist/app/main.js.map +1 -1
  11. package/dist/app/tailwind.js +20 -0
  12. package/dist/app/tailwind.js.map +1 -1
  13. package/dist/cli/build/handler.d.ts +1 -3
  14. package/dist/cli/build/handler.js +9 -1
  15. package/dist/cli/build/handler.js.map +1 -1
  16. package/dist/cli/cli.js +5 -0
  17. package/dist/cli/cli.js.map +1 -1
  18. package/dist/cli/cmds/build.d.ts +11 -3
  19. package/dist/cli/cmds/build.js +20 -13
  20. package/dist/cli/cmds/build.js.map +1 -1
  21. package/dist/cli/cmds/dev.d.ts +1 -1
  22. package/dist/cli/cmds/dev.js.map +1 -1
  23. package/dist/cli/cmds/preview.d.ts +16 -0
  24. package/dist/cli/cmds/preview.js +25 -0
  25. package/dist/cli/cmds/preview.js.map +1 -0
  26. package/dist/cli/common/machine-id/lib.js +1 -0
  27. package/dist/cli/common/machine-id/lib.js.map +1 -1
  28. package/dist/cli/common/utils/ports.d.ts +1 -1
  29. package/dist/cli/common/utils/ports.js +16 -15
  30. package/dist/cli/common/utils/ports.js.map +1 -1
  31. package/dist/cli/dev/handler.js +10 -12
  32. package/dist/cli/dev/handler.js.map +1 -1
  33. package/dist/cli/preview/handler.d.ts +3 -0
  34. package/dist/cli/preview/handler.js +35 -0
  35. package/dist/cli/preview/handler.js.map +1 -0
  36. package/dist/config/ZuploBuildConfig.d.ts +155 -0
  37. package/dist/config/ZuploBuildConfig.js +29 -0
  38. package/dist/config/ZuploBuildConfig.js.map +1 -0
  39. package/dist/config/common.d.ts +5 -3
  40. package/dist/config/config.d.ts +18 -16
  41. package/dist/config/loader.d.ts +7 -6
  42. package/dist/config/loader.js +21 -29
  43. package/dist/config/loader.js.map +1 -1
  44. package/dist/config/validators/BuildSchema.d.ts +60 -0
  45. package/dist/config/validators/BuildSchema.js +31 -0
  46. package/dist/config/validators/BuildSchema.js.map +1 -0
  47. package/dist/config/validators/InputSidebarSchema.d.ts +15 -15
  48. package/dist/config/validators/InputSidebarSchema.js +10 -1
  49. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  50. package/dist/config/validators/common.d.ts +3205 -691
  51. package/dist/config/validators/common.js +132 -21
  52. package/dist/config/validators/common.js.map +1 -1
  53. package/dist/config/validators/icon-types.d.ts +1 -1
  54. package/dist/config/validators/validate.d.ts +1192 -305
  55. package/dist/index.d.ts +2 -1
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/MissingIcon.d.ts +2 -0
  59. package/dist/lib/MissingIcon.js +7 -0
  60. package/dist/lib/MissingIcon.js.map +1 -0
  61. package/dist/lib/authentication/authentication.d.ts +1 -0
  62. package/dist/lib/authentication/hook.d.ts +1 -0
  63. package/dist/lib/authentication/hook.js +11 -1
  64. package/dist/lib/authentication/hook.js.map +1 -1
  65. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  66. package/dist/lib/authentication/providers/auth0.js +1 -0
  67. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  68. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  69. package/dist/lib/authentication/providers/clerk.js +25 -6
  70. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  71. package/dist/lib/authentication/providers/openid.d.ts +5 -3
  72. package/dist/lib/authentication/providers/openid.js +24 -10
  73. package/dist/lib/authentication/providers/openid.js.map +1 -1
  74. package/dist/lib/authentication/providers/supabase.d.ts +4 -0
  75. package/dist/lib/authentication/providers/supabase.js +117 -0
  76. package/dist/lib/authentication/providers/supabase.js.map +1 -0
  77. package/dist/lib/authentication/state.d.ts +0 -26
  78. package/dist/lib/authentication/state.js +9 -18
  79. package/dist/lib/authentication/state.js.map +1 -1
  80. package/dist/lib/components/AnchorLink.d.ts +2 -2
  81. package/dist/lib/components/AnchorLink.js +5 -4
  82. package/dist/lib/components/AnchorLink.js.map +1 -1
  83. package/dist/lib/components/Banner.js +1 -1
  84. package/dist/lib/components/Banner.js.map +1 -1
  85. package/dist/lib/components/Bootstrap.d.ts +2 -1
  86. package/dist/lib/components/Bootstrap.js +3 -2
  87. package/dist/lib/components/Bootstrap.js.map +1 -1
  88. package/dist/lib/components/BuildCheck.d.ts +4 -0
  89. package/dist/lib/components/BuildCheck.js +22 -0
  90. package/dist/lib/components/BuildCheck.js.map +1 -0
  91. package/dist/lib/components/Footer.d.ts +1 -0
  92. package/dist/lib/components/Footer.js +32 -0
  93. package/dist/lib/components/Footer.js.map +1 -0
  94. package/dist/lib/components/Header.js +4 -4
  95. package/dist/lib/components/Header.js.map +1 -1
  96. package/dist/lib/components/Heading.d.ts +2 -2
  97. package/dist/lib/components/InlineCode.d.ts +2 -1
  98. package/dist/lib/components/InlineCode.js +2 -9
  99. package/dist/lib/components/InlineCode.js.map +1 -1
  100. package/dist/lib/components/Layout.js +8 -28
  101. package/dist/lib/components/Layout.js.map +1 -1
  102. package/dist/lib/components/Main.d.ts +2 -0
  103. package/dist/lib/components/Main.js +17 -0
  104. package/dist/lib/components/Main.js.map +1 -0
  105. package/dist/lib/components/MobileTopNavigation.js +6 -3
  106. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  107. package/dist/lib/components/Pagination.d.ts +11 -0
  108. package/dist/lib/components/Pagination.js +10 -0
  109. package/dist/lib/components/Pagination.js.map +1 -0
  110. package/dist/lib/components/Search.js +7 -1
  111. package/dist/lib/components/Search.js.map +1 -1
  112. package/dist/lib/components/ThemeSwitch.js +8 -5
  113. package/dist/lib/components/ThemeSwitch.js.map +1 -1
  114. package/dist/lib/components/TopNavigation.d.ts +3 -2
  115. package/dist/lib/components/TopNavigation.js +28 -14
  116. package/dist/lib/components/TopNavigation.js.map +1 -1
  117. package/dist/lib/components/Zudoku.d.ts +1 -1
  118. package/dist/lib/components/Zudoku.js +13 -8
  119. package/dist/lib/components/Zudoku.js.map +1 -1
  120. package/dist/lib/components/cache.d.ts +7 -0
  121. package/dist/lib/components/cache.js +7 -0
  122. package/dist/lib/components/cache.js.map +1 -1
  123. package/dist/lib/components/context/BypassProtectedRoutesContext.d.ts +1 -0
  124. package/dist/lib/components/context/BypassProtectedRoutesContext.js +3 -0
  125. package/dist/lib/components/context/BypassProtectedRoutesContext.js.map +1 -0
  126. package/dist/lib/components/context/RouterEventsEmitter.d.ts +1 -0
  127. package/dist/lib/components/context/RouterEventsEmitter.js +17 -0
  128. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -0
  129. package/dist/lib/components/context/ViewportAnchorContext.d.ts +2 -4
  130. package/dist/lib/components/context/ViewportAnchorContext.js +5 -10
  131. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  132. package/dist/lib/components/context/ZudokuContext.d.ts +2 -2
  133. package/dist/lib/components/context/ZudokuContext.js +21 -9
  134. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  135. package/dist/lib/components/index.d.ts +11 -3
  136. package/dist/lib/components/index.js +4 -0
  137. package/dist/lib/components/index.js.map +1 -1
  138. package/dist/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
  139. package/dist/lib/components/navigation/PoweredByZudoku.js +7 -0
  140. package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -0
  141. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  142. package/dist/lib/components/navigation/Sidebar.js +3 -12
  143. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  144. package/dist/lib/components/navigation/SidebarBadge.d.ts +2 -0
  145. package/dist/lib/components/navigation/SidebarBadge.js +3 -1
  146. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -1
  147. package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
  148. package/dist/lib/components/navigation/SidebarCategory.js +10 -6
  149. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  150. package/dist/lib/components/navigation/SidebarItem.d.ts +1 -0
  151. package/dist/lib/components/navigation/SidebarItem.js +17 -11
  152. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  153. package/dist/lib/components/navigation/SidebarWrapper.d.ts +7 -6
  154. package/dist/lib/components/navigation/SidebarWrapper.js +18 -3
  155. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  156. package/dist/lib/{plugins/markdown → components/navigation}/Toc.js +5 -7
  157. package/dist/lib/components/navigation/Toc.js.map +1 -0
  158. package/dist/lib/components/navigation/ZudokuLogo.d.ts +6 -0
  159. package/dist/lib/components/navigation/ZudokuLogo.js +5 -0
  160. package/dist/lib/components/navigation/ZudokuLogo.js.map +1 -0
  161. package/dist/lib/components/navigation/ZuploLogo.d.ts +3 -0
  162. package/dist/lib/components/navigation/ZuploLogo.js +4 -0
  163. package/dist/lib/components/navigation/ZuploLogo.js.map +1 -0
  164. package/dist/lib/core/RouteGuard.d.ts +2 -1
  165. package/dist/lib/core/RouteGuard.js +35 -11
  166. package/dist/lib/core/RouteGuard.js.map +1 -1
  167. package/dist/lib/core/ZudokuContext.d.ts +33 -7
  168. package/dist/lib/core/ZudokuContext.js +29 -6
  169. package/dist/lib/core/ZudokuContext.js.map +1 -1
  170. package/dist/lib/core/plugins.d.ts +17 -7
  171. package/dist/lib/core/plugins.js +3 -0
  172. package/dist/lib/core/plugins.js.map +1 -1
  173. package/dist/lib/errors/ErrorAlert.js +6 -1
  174. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  175. package/dist/lib/hooks/index.d.ts +3 -0
  176. package/dist/lib/hooks/index.js +5 -0
  177. package/dist/lib/hooks/index.js.map +1 -0
  178. package/dist/lib/hooks/useEvent.d.ts +11 -0
  179. package/dist/lib/hooks/useEvent.js +19 -0
  180. package/dist/lib/hooks/useEvent.js.map +1 -0
  181. package/dist/lib/hooks/useEvent.test.js +100 -0
  182. package/dist/lib/hooks/useEvent.test.js.map +1 -0
  183. package/dist/lib/icons.d.ts +1 -0
  184. package/dist/lib/icons.js +1 -0
  185. package/dist/lib/icons.js.map +1 -1
  186. package/dist/lib/oas/graphql/index.d.ts +17 -4
  187. package/dist/lib/oas/graphql/index.js +151 -38
  188. package/dist/lib/oas/graphql/index.js.map +1 -1
  189. package/dist/lib/oas/parser/dereference/index.js +2 -0
  190. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  191. package/dist/lib/oas/parser/index.d.ts +5 -3
  192. package/dist/lib/oas/parser/index.js +0 -22
  193. package/dist/lib/oas/parser/index.js.map +1 -1
  194. package/dist/lib/oas/parser/upgrade/index.js +2 -1
  195. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  196. package/dist/lib/plugins/api-catalog/Catalog.d.ts +4 -2
  197. package/dist/lib/plugins/api-catalog/Catalog.js +16 -26
  198. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  199. package/dist/lib/plugins/api-catalog/index.d.ts +1 -0
  200. package/dist/lib/plugins/api-catalog/index.js +39 -8
  201. package/dist/lib/plugins/api-catalog/index.js.map +1 -1
  202. package/dist/lib/plugins/api-keys/CreateApiKey.js +7 -3
  203. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  204. package/dist/lib/plugins/api-keys/index.d.ts +1 -0
  205. package/dist/lib/plugins/api-keys/index.js +1 -0
  206. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  207. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  208. package/dist/lib/plugins/markdown/MdxPage.js +3 -9
  209. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  210. package/dist/lib/plugins/markdown/resolver.d.ts +0 -6
  211. package/dist/lib/plugins/markdown/resolver.js +0 -29
  212. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  213. package/dist/lib/plugins/openapi/ColorizedParam.js +1 -1
  214. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  215. package/dist/lib/plugins/openapi/Endpoint.js +1 -1
  216. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  217. package/dist/lib/plugins/openapi/{OpenApiRoute.d.ts → OasProvider.d.ts} +1 -2
  218. package/dist/lib/plugins/openapi/OasProvider.js +29 -0
  219. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -0
  220. package/dist/lib/plugins/openapi/OperationList.d.ts +2 -2
  221. package/dist/lib/plugins/openapi/OperationList.js +63 -18
  222. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  223. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  224. package/dist/lib/plugins/openapi/OperationListItem.js +7 -12
  225. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  226. package/dist/lib/plugins/openapi/ParamInfos.d.ts +6 -0
  227. package/dist/lib/plugins/openapi/ParamInfos.js +42 -0
  228. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -0
  229. package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -1
  230. package/dist/lib/plugins/openapi/ParameterList.js +3 -2
  231. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  232. package/dist/lib/plugins/openapi/ParameterListItem.js +9 -4
  233. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  234. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
  235. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -1
  236. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  237. package/dist/lib/plugins/openapi/SchemaList.d.ts +1 -0
  238. package/dist/lib/plugins/openapi/SchemaList.js +52 -0
  239. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -0
  240. package/dist/lib/plugins/openapi/Sidecar.js +39 -10
  241. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  242. package/dist/lib/plugins/openapi/SidecarExamples.js +2 -2
  243. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  244. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  245. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  246. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +1 -1
  247. package/dist/lib/plugins/openapi/client/GraphQLClient.js +1 -1
  248. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
  249. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +6 -2
  250. package/dist/lib/plugins/openapi/client/useCreateQuery.js +6 -5
  251. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  252. package/dist/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
  253. package/dist/lib/plugins/openapi/components/EnumValues.js +15 -0
  254. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -0
  255. package/dist/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
  256. package/dist/lib/plugins/openapi/components/SelectOnClick.js +16 -0
  257. package/dist/lib/plugins/openapi/components/SelectOnClick.js.map +1 -0
  258. package/dist/lib/plugins/openapi/graphql/gql.d.ts +9 -5
  259. package/dist/lib/plugins/openapi/graphql/gql.js +5 -15
  260. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  261. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +108 -55
  262. package/dist/lib/plugins/openapi/graphql/graphql.js +59 -34
  263. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  264. package/dist/lib/plugins/openapi/index.d.ts +10 -7
  265. package/dist/lib/plugins/openapi/index.js +56 -142
  266. package/dist/lib/plugins/openapi/index.js.map +1 -1
  267. package/dist/lib/plugins/openapi/interfaces.d.ts +36 -10
  268. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +2 -2
  269. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -5
  270. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  271. package/dist/lib/plugins/openapi/playground/Headers.js +1 -1
  272. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  273. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
  274. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +14 -0
  275. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -0
  276. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
  277. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +10 -0
  278. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -0
  279. package/dist/lib/plugins/openapi/playground/PathParams.d.ts +3 -2
  280. package/dist/lib/plugins/openapi/playground/PathParams.js +3 -2
  281. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  282. package/dist/lib/plugins/openapi/playground/Playground.d.ts +14 -3
  283. package/dist/lib/plugins/openapi/playground/Playground.js +84 -30
  284. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  285. package/dist/lib/plugins/openapi/playground/QueryParams.js +1 -1
  286. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  287. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +7 -0
  288. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +8 -0
  289. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -0
  290. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +17 -0
  291. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js +11 -0
  292. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js.map +1 -0
  293. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +1 -1
  294. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +1 -1
  295. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +20 -14
  296. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  297. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +6 -4
  298. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +4 -3
  299. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  300. package/dist/lib/plugins/openapi/processors/removeExtensions.d.ts +8 -0
  301. package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.js +1 -1
  302. package/dist/lib/plugins/openapi/processors/removeExtensions.js.map +1 -0
  303. package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.js +26 -6
  304. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -0
  305. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.d.ts +3 -1
  306. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.js +1 -1
  307. package/dist/lib/plugins/openapi/processors/removeParameters.js.map +1 -0
  308. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.js +53 -25
  309. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -0
  310. package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.d.ts +3 -1
  311. package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.js +1 -1
  312. package/dist/lib/plugins/openapi/processors/removePaths.js.map +1 -0
  313. package/dist/lib/plugins/openapi/processors/removePaths.test.js +144 -0
  314. package/dist/lib/plugins/openapi/processors/removePaths.test.js.map +1 -0
  315. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -0
  316. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +1 -2
  317. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +2 -2
  318. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
  319. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +2 -1
  320. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +2 -2
  321. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +1 -1
  322. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -1
  323. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +1 -1
  324. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +1 -1
  325. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
  326. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +12 -0
  327. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -0
  328. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +2 -4
  329. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +18 -13
  330. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  331. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -2
  332. package/dist/lib/plugins/openapi/schema/SchemaView.js +33 -48
  333. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  334. package/dist/lib/plugins/openapi/schema/utils.d.ts +1 -0
  335. package/dist/lib/plugins/openapi/schema/utils.js +3 -1
  336. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  337. package/dist/lib/plugins/openapi/state.d.ts +25 -0
  338. package/dist/lib/plugins/openapi/state.js +18 -0
  339. package/dist/lib/plugins/openapi/state.js.map +1 -0
  340. package/dist/lib/plugins/openapi/util/createSidebarCategory.d.ts +9 -0
  341. package/dist/lib/plugins/openapi/util/createSidebarCategory.js +23 -0
  342. package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +1 -0
  343. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +10 -0
  344. package/dist/lib/plugins/openapi/util/getRoutes.js +80 -0
  345. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -0
  346. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +2 -0
  347. package/dist/lib/plugins/openapi/util/methodColorMap.js +10 -0
  348. package/dist/lib/plugins/openapi/util/methodColorMap.js.map +1 -0
  349. package/dist/lib/plugins/search-pagefind/PagefindSearch.d.ts +6 -0
  350. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +80 -0
  351. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -0
  352. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +8 -0
  353. package/dist/lib/plugins/search-pagefind/ResultList.js +32 -0
  354. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -0
  355. package/dist/lib/plugins/search-pagefind/get-results.d.ts +10 -0
  356. package/dist/lib/plugins/search-pagefind/get-results.js +42 -0
  357. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -0
  358. package/dist/lib/plugins/search-pagefind/index.d.ts +6 -0
  359. package/dist/lib/plugins/search-pagefind/index.js +9 -0
  360. package/dist/lib/plugins/search-pagefind/index.js.map +1 -0
  361. package/dist/lib/plugins/search-pagefind/types.d.ts +85 -0
  362. package/dist/lib/plugins/search-pagefind/types.js +2 -0
  363. package/dist/lib/plugins/search-pagefind/types.js.map +1 -0
  364. package/dist/lib/ui/Badge.d.ts +1 -1
  365. package/dist/lib/ui/Button.d.ts +2 -2
  366. package/dist/lib/ui/Button.js +2 -1
  367. package/dist/lib/ui/Button.js.map +1 -1
  368. package/dist/lib/ui/Callout.d.ts +2 -1
  369. package/dist/lib/ui/Callout.js +3 -2
  370. package/dist/lib/ui/Callout.js.map +1 -1
  371. package/dist/lib/ui/Checkbox.d.ts +2 -8
  372. package/dist/lib/ui/Checkbox.js +1 -13
  373. package/dist/lib/ui/Checkbox.js.map +1 -1
  374. package/dist/lib/ui/Command.d.ts +7 -1
  375. package/dist/lib/ui/Command.js +2 -2
  376. package/dist/lib/ui/Command.js.map +1 -1
  377. package/dist/lib/ui/Form.d.ts +1 -1
  378. package/dist/lib/ui/Select.js +1 -1
  379. package/dist/lib/ui/Select.js.map +1 -1
  380. package/dist/lib/ui/Stepper.d.ts +3 -0
  381. package/dist/lib/ui/Stepper.js +7 -0
  382. package/dist/lib/ui/Stepper.js.map +1 -0
  383. package/dist/lib/ui/SyntaxHighlight.d.ts +15 -0
  384. package/dist/lib/ui/SyntaxHighlight.js +62 -0
  385. package/dist/lib/ui/SyntaxHighlight.js.map +1 -0
  386. package/dist/lib/ui/util.d.ts +2 -0
  387. package/dist/lib/ui/util.js +3 -0
  388. package/dist/lib/ui/util.js.map +1 -0
  389. package/dist/lib/util/MdxComponents.d.ts +6 -2
  390. package/dist/lib/util/MdxComponents.js +8 -3
  391. package/dist/lib/util/MdxComponents.js.map +1 -1
  392. package/dist/lib/util/detectOS.d.ts +1 -0
  393. package/dist/lib/util/detectOS.js +11 -0
  394. package/dist/lib/util/detectOS.js.map +1 -0
  395. package/dist/lib/util/joinPath.d.ts +3 -0
  396. package/dist/lib/util/joinPath.js +3 -0
  397. package/dist/lib/util/joinPath.js.map +1 -1
  398. package/dist/lib/util/traverse.d.ts +2 -8
  399. package/dist/lib/util/traverse.js +2 -2
  400. package/dist/lib/util/traverse.js.map +1 -1
  401. package/dist/lib/util/types.d.ts +7 -0
  402. package/dist/lib/util/types.js +2 -0
  403. package/dist/lib/util/types.js.map +1 -0
  404. package/dist/lib/util/useLatest.d.ts +1 -0
  405. package/dist/lib/util/useLatest.js +15 -0
  406. package/dist/lib/util/useLatest.js.map +1 -0
  407. package/dist/lib/util/useOnScreen.d.ts +3 -2
  408. package/dist/lib/util/useOnScreen.js +3 -3
  409. package/dist/lib/util/useOnScreen.js.map +1 -1
  410. package/dist/lib/util/useScrollToAnchor.js +26 -20
  411. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  412. package/dist/vite/api/schema-codegen.d.ts +1 -1
  413. package/dist/vite/api/schema-codegen.js +34 -11
  414. package/dist/vite/api/schema-codegen.js.map +1 -1
  415. package/dist/vite/api/schema-codegen.test.js +66 -0
  416. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  417. package/dist/vite/build.js +27 -16
  418. package/dist/vite/build.js.map +1 -1
  419. package/dist/vite/config.d.ts +2 -5
  420. package/dist/vite/config.js +66 -70
  421. package/dist/vite/config.js.map +1 -1
  422. package/dist/vite/config.test.js +1 -1
  423. package/dist/vite/config.test.js.map +1 -1
  424. package/dist/vite/create-pagefind-index.d.ts +4 -0
  425. package/dist/vite/create-pagefind-index.js +12 -0
  426. package/dist/vite/create-pagefind-index.js.map +1 -0
  427. package/dist/vite/css/plugin.d.ts +2 -2
  428. package/dist/vite/css/plugin.js.map +1 -1
  429. package/dist/vite/dev-server.d.ts +4 -2
  430. package/dist/vite/dev-server.js +42 -12
  431. package/dist/vite/dev-server.js.map +1 -1
  432. package/dist/vite/error-handler.d.ts +1 -1
  433. package/dist/vite/error-handler.js +1 -1
  434. package/dist/vite/error-handler.js.map +1 -1
  435. package/dist/vite/output.d.ts +14 -2
  436. package/dist/vite/output.js +12 -14
  437. package/dist/vite/output.js.map +1 -1
  438. package/dist/vite/plugin-api-keys.d.ts +2 -2
  439. package/dist/vite/plugin-api-keys.js +5 -5
  440. package/dist/vite/plugin-api-keys.js.map +1 -1
  441. package/dist/vite/plugin-api.d.ts +2 -2
  442. package/dist/vite/plugin-api.js +98 -54
  443. package/dist/vite/plugin-api.js.map +1 -1
  444. package/dist/vite/plugin-auth.d.ts +2 -2
  445. package/dist/vite/plugin-auth.js +3 -3
  446. package/dist/vite/plugin-auth.js.map +1 -1
  447. package/dist/vite/plugin-component.d.ts +2 -2
  448. package/dist/vite/plugin-component.js +7 -2
  449. package/dist/vite/plugin-component.js.map +1 -1
  450. package/dist/vite/plugin-config-reload.d.ts +4 -3
  451. package/dist/vite/plugin-config-reload.js +13 -6
  452. package/dist/vite/plugin-config-reload.js.map +1 -1
  453. package/dist/vite/plugin-config.d.ts +2 -2
  454. package/dist/vite/plugin-config.js +9 -5
  455. package/dist/vite/plugin-config.js.map +1 -1
  456. package/dist/vite/plugin-custom-pages.d.ts +2 -2
  457. package/dist/vite/plugin-custom-pages.js +3 -3
  458. package/dist/vite/plugin-custom-pages.js.map +1 -1
  459. package/dist/vite/plugin-docs.d.ts +3 -3
  460. package/dist/vite/plugin-docs.js +23 -6
  461. package/dist/vite/plugin-docs.js.map +1 -1
  462. package/dist/vite/plugin-frontmatter.d.ts +2 -2
  463. package/dist/vite/plugin-frontmatter.js +5 -4
  464. package/dist/vite/plugin-frontmatter.js.map +1 -1
  465. package/dist/vite/plugin-mdx.d.ts +2 -2
  466. package/dist/vite/plugin-mdx.js +32 -27
  467. package/dist/vite/plugin-mdx.js.map +1 -1
  468. package/dist/vite/plugin-redirect.d.ts +2 -2
  469. package/dist/vite/plugin-redirect.js +3 -3
  470. package/dist/vite/plugin-redirect.js.map +1 -1
  471. package/dist/vite/plugin-search.d.ts +2 -2
  472. package/dist/vite/plugin-search.js +5 -1
  473. package/dist/vite/plugin-search.js.map +1 -1
  474. package/dist/vite/plugin-sidebar.d.ts +3 -2
  475. package/dist/vite/plugin-sidebar.js +15 -6
  476. package/dist/vite/plugin-sidebar.js.map +1 -1
  477. package/dist/vite/plugin-theme-css.d.ts +2 -2
  478. package/dist/vite/plugin-theme-css.js.map +1 -1
  479. package/dist/vite/plugin.d.ts +2 -2
  480. package/dist/vite/plugin.js.map +1 -1
  481. package/dist/vite/prerender/FileWritingResponse.d.ts +25 -0
  482. package/dist/vite/prerender/FileWritingResponse.js +51 -0
  483. package/dist/vite/prerender/FileWritingResponse.js.map +1 -0
  484. package/dist/vite/prerender/InMemoryResponse.d.ts +16 -0
  485. package/dist/vite/prerender/InMemoryResponse.js +32 -0
  486. package/dist/vite/prerender/InMemoryResponse.js.map +1 -0
  487. package/dist/vite/prerender/PrerenderResponse.d.ts +10 -0
  488. package/dist/vite/prerender/PrerenderResponse.js +2 -0
  489. package/dist/vite/prerender/PrerenderResponse.js.map +1 -0
  490. package/dist/vite/prerender/prerender.d.ts +15 -0
  491. package/dist/vite/prerender/prerender.js +109 -0
  492. package/dist/vite/prerender/prerender.js.map +1 -0
  493. package/dist/vite/prerender/worker.d.ts +13 -0
  494. package/dist/vite/prerender/worker.js +59 -0
  495. package/dist/vite/prerender/worker.js.map +1 -0
  496. package/dist/vite/reporter.d.ts +3 -0
  497. package/dist/vite/reporter.js +33 -0
  498. package/dist/vite/reporter.js.map +1 -0
  499. package/dist/vite/sitemap.js +2 -1
  500. package/dist/vite/sitemap.js.map +1 -1
  501. package/dist/zuplo/enrich-with-zuplo.d.ts +3 -3
  502. package/dist/zuplo/enrich-with-zuplo.js +18 -17
  503. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  504. package/dist/zuplo/env.d.ts +26 -0
  505. package/dist/zuplo/env.js +17 -0
  506. package/dist/zuplo/env.js.map +1 -1
  507. package/dist/zuplo/with-zuplo-processors.d.ts +2 -2
  508. package/dist/zuplo/with-zuplo-processors.js +6 -6
  509. package/dist/zuplo/with-zuplo-processors.js.map +1 -1
  510. package/dist/zuplo/with-zuplo.d.ts +4 -1
  511. package/dist/zuplo/with-zuplo.js +6 -5
  512. package/dist/zuplo/with-zuplo.js.map +1 -1
  513. package/lib/{AuthenticationPlugin-DeEA69mE.js → AuthenticationPlugin-CJOFRBk3.js} +4 -4
  514. package/lib/{AuthenticationPlugin-DeEA69mE.js.map → AuthenticationPlugin-CJOFRBk3.js.map} +1 -1
  515. package/lib/Button-BBNrKpQd.js +49 -0
  516. package/lib/Button-BBNrKpQd.js.map +1 -0
  517. package/lib/Callout-D3Ja4OPX.js +230 -0
  518. package/lib/Callout-D3Ja4OPX.js.map +1 -0
  519. package/lib/{CategoryHeading-MYL1u_6K.js → CategoryHeading-D06WK_Wo.js} +3 -3
  520. package/lib/{CategoryHeading-MYL1u_6K.js.map → CategoryHeading-D06WK_Wo.js.map} +1 -1
  521. package/lib/Dialog-ByYz4ABw.js +98 -0
  522. package/lib/Dialog-ByYz4ABw.js.map +1 -0
  523. package/lib/Drawer-CEwbkLDb.js +1133 -0
  524. package/lib/Drawer-CEwbkLDb.js.map +1 -0
  525. package/lib/{Markdown-8mv9nhGd.js → Markdown-C5h6bxbE.js} +8031 -6095
  526. package/lib/Markdown-C5h6bxbE.js.map +1 -0
  527. package/lib/MdxPage-DhGqXQTK.js +85 -0
  528. package/lib/MdxPage-DhGqXQTK.js.map +1 -0
  529. package/lib/OasProvider-q0ncKgHr.js +34 -0
  530. package/lib/OasProvider-q0ncKgHr.js.map +1 -0
  531. package/lib/OperationList-CW4jENLV.js +5069 -0
  532. package/lib/OperationList-CW4jENLV.js.map +1 -0
  533. package/lib/Pagination-DsG3YIT_.js +48 -0
  534. package/lib/Pagination-DsG3YIT_.js.map +1 -0
  535. package/lib/{index.esm-9-TF9KQB.js → RouteGuard-BZ_VsiXc.js} +196 -144
  536. package/lib/RouteGuard-BZ_VsiXc.js.map +1 -0
  537. package/lib/SchemaList-n24-qSa5.js +148 -0
  538. package/lib/SchemaList-n24-qSa5.js.map +1 -0
  539. package/lib/SchemaView-DCSWtnYr.js +357 -0
  540. package/lib/SchemaView-DCSWtnYr.js.map +1 -0
  541. package/lib/{Select-BcAbBUmk.js → Select-Dg5R11Dx.js} +71 -71
  542. package/lib/{Select-BcAbBUmk.js.map → Select-Dg5R11Dx.js.map} +1 -1
  543. package/lib/SlotletProvider-VUmTNmLZ.js +340 -0
  544. package/lib/SlotletProvider-VUmTNmLZ.js.map +1 -0
  545. package/lib/Spinner-mNLZ6awP.js +7 -0
  546. package/lib/Spinner-mNLZ6awP.js.map +1 -0
  547. package/lib/{SyntaxHighlight-B0L4SC_N.js → SyntaxHighlight-CxhyyMkF.js} +500 -596
  548. package/lib/SyntaxHighlight-CxhyyMkF.js.map +1 -0
  549. package/lib/Toc-BK39DQvI.js +92 -0
  550. package/lib/Toc-BK39DQvI.js.map +1 -0
  551. package/lib/{_commonjsHelpers-BkfeUUK-.js → _commonjsHelpers-B4e78b8K.js} +2 -2
  552. package/lib/_commonjsHelpers-B4e78b8K.js.map +1 -0
  553. package/lib/{chunk-SYFQ2XB5-QijJrSf0.js → chunk-KNED5TY2-BUPjb3LQ.js} +584 -583
  554. package/lib/chunk-KNED5TY2-BUPjb3LQ.js.map +1 -0
  555. package/lib/{circular-DxaIIlWD.js → circular-ByJI6Mci.js} +5461 -4993
  556. package/lib/circular-ByJI6Mci.js.map +1 -0
  557. package/lib/context-Lrf2Y9bR.js +22 -0
  558. package/lib/{context-rwLGh-6_.js.map → context-Lrf2Y9bR.js.map} +1 -1
  559. package/lib/{createServer-E3cXjB0P.js → createServer-DLN7APz_.js} +4641 -4927
  560. package/lib/createServer-DLN7APz_.js.map +1 -0
  561. package/lib/hook-pPrHCB6G.js +1478 -0
  562. package/lib/hook-pPrHCB6G.js.map +1 -0
  563. package/lib/index-Bn6Lc9tq.js +9 -0
  564. package/lib/index-Bn6Lc9tq.js.map +1 -0
  565. package/lib/index-CBpciIfE.js +2054 -0
  566. package/lib/index-CBpciIfE.js.map +1 -0
  567. package/lib/index-CPNSgwSb.js +36 -0
  568. package/lib/{index-Djenk2Hj.js.map → index-CPNSgwSb.js.map} +1 -1
  569. package/lib/index-CuBIgTKC.js +316 -0
  570. package/lib/index-CuBIgTKC.js.map +1 -0
  571. package/lib/{index-Dl3Yl0yb.js → index-DcHeSvkE.js} +51 -38
  572. package/lib/index-DcHeSvkE.js.map +1 -0
  573. package/lib/index-DwT-v3zK.js +86 -0
  574. package/lib/index-DwT-v3zK.js.map +1 -0
  575. package/lib/{index-CjJS0l4l.js → index-LNp6rxyU.js} +2 -2
  576. package/lib/{index-CjJS0l4l.js.map → index-LNp6rxyU.js.map} +1 -1
  577. package/lib/index-bu-rfaLA.js +2227 -0
  578. package/lib/index-bu-rfaLA.js.map +1 -0
  579. package/lib/index.esm-D2ZUREQN.js +1216 -0
  580. package/lib/index.esm-D2ZUREQN.js.map +1 -0
  581. package/lib/jsx-runtime-C5mzlN2N.js +285 -0
  582. package/lib/jsx-runtime-C5mzlN2N.js.map +1 -0
  583. package/lib/mutation-Csa9eQDM.js +211 -0
  584. package/lib/mutation-Csa9eQDM.js.map +1 -0
  585. package/lib/objectEntries-yMIkr2mI.js +5 -0
  586. package/lib/objectEntries-yMIkr2mI.js.map +1 -0
  587. package/lib/prism-bash.min-HHIMdNJ_.js.map +1 -1
  588. package/lib/{prism-csharp.min-bQAo2pmx.js → prism-csharp.min-C43x1RY2.js} +2 -2
  589. package/lib/{prism-csharp.min-bQAo2pmx.js.map → prism-csharp.min-C43x1RY2.js.map} +1 -1
  590. package/lib/{prism-java.min-BpvsOuIa.js → prism-java.min-CQzr40NQ.js} +2 -2
  591. package/lib/{prism-java.min-BpvsOuIa.js.map → prism-java.min-CQzr40NQ.js.map} +1 -1
  592. package/lib/prism-javascript.min-CEqHqgbm.js.map +1 -1
  593. package/lib/prism-json.min-B1GJqK1k.js.map +1 -1
  594. package/lib/prism-jsstacktrace.min-BfobCF2F.js +2 -0
  595. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +1 -0
  596. package/lib/prism-markdown.min-C0Qn0m-5.js.map +1 -1
  597. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  598. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +1 -1
  599. package/lib/{prism-ruby.min-Dx9KO9ds.js → prism-ruby.min-L9OdQ6tU.js} +2 -2
  600. package/lib/{prism-ruby.min-Dx9KO9ds.js.map → prism-ruby.min-L9OdQ6tU.js.map} +1 -1
  601. package/lib/{prism-typescript.min-CD7H2IYQ.js → prism-typescript.min-qTySPvCh.js} +2 -2
  602. package/lib/{prism-typescript.min-CD7H2IYQ.js.map → prism-typescript.min-qTySPvCh.js.map} +1 -1
  603. package/lib/processors/removeExtensions.js +11 -0
  604. package/lib/processors/removeExtensions.js.map +1 -0
  605. package/lib/{post-processors → processors}/removeParameters.js +1 -1
  606. package/lib/processors/removeParameters.js.map +1 -0
  607. package/lib/{post-processors → processors}/removePaths.js +1 -1
  608. package/lib/processors/removePaths.js.map +1 -0
  609. package/lib/{post-processors → processors}/traverse.js +2 -2
  610. package/lib/processors/traverse.js.map +1 -0
  611. package/lib/ui/Accordion.js +1 -1
  612. package/lib/ui/ActionButton.js +11 -10
  613. package/lib/ui/ActionButton.js.map +1 -1
  614. package/lib/ui/Alert.js +2 -2
  615. package/lib/ui/AlertDialog.js +1 -1
  616. package/lib/ui/Badge.js +2 -2
  617. package/lib/ui/Breadcrumb.js +4 -4
  618. package/lib/ui/Button.js +13 -12
  619. package/lib/ui/Button.js.map +1 -1
  620. package/lib/ui/Callout.js +40 -21
  621. package/lib/ui/Callout.js.map +1 -1
  622. package/lib/ui/Card.js +1 -1
  623. package/lib/ui/Carousel.js +207 -207
  624. package/lib/ui/Carousel.js.map +1 -1
  625. package/lib/ui/Checkbox.js +16 -26
  626. package/lib/ui/Checkbox.js.map +1 -1
  627. package/lib/ui/Command.js +105 -78
  628. package/lib/ui/Command.js.map +1 -1
  629. package/lib/ui/Dialog.js +1 -1
  630. package/lib/ui/Drawer.js +14 -1151
  631. package/lib/ui/Drawer.js.map +1 -1
  632. package/lib/ui/DropdownMenu.js +1 -1
  633. package/lib/ui/Form.js +5 -5
  634. package/lib/ui/HoverCard.js +1 -1
  635. package/lib/ui/Input.js +1 -1
  636. package/lib/ui/Label.js +2 -2
  637. package/lib/ui/Pagination.js +10 -10
  638. package/lib/ui/Popover.js +1 -1
  639. package/lib/ui/Progress.js +1 -1
  640. package/lib/ui/RadioGroup.js +1 -1
  641. package/lib/ui/ScrollArea.js +1 -1
  642. package/lib/ui/Select.js +2 -2
  643. package/lib/ui/Select.js.map +1 -1
  644. package/lib/ui/Skeleton.js +1 -1
  645. package/lib/ui/Slider.js +1 -1
  646. package/lib/ui/Stepper.js +6 -0
  647. package/lib/ui/Stepper.js.map +1 -0
  648. package/lib/ui/Switch.js +1 -1
  649. package/lib/ui/SyntaxHighlight.js +11 -0
  650. package/lib/ui/SyntaxHighlight.js.map +1 -0
  651. package/lib/ui/Tabs.js +1 -1
  652. package/lib/ui/Textarea.js +1 -1
  653. package/lib/ui/Toggle.js +2 -2
  654. package/lib/ui/ToggleGroup.js +1 -1
  655. package/lib/ui/Tooltip.js +1 -1
  656. package/lib/ui/util.js +6 -0
  657. package/lib/ui/util.js.map +1 -0
  658. package/lib/{useExposedProps-Bbf99zic.js → useExposedProps-Dq2yUQIG.js} +2 -2
  659. package/lib/{useExposedProps-Bbf99zic.js.map → useExposedProps-Dq2yUQIG.js.map} +1 -1
  660. package/lib/useLatest-hmRS46UF.js +11 -0
  661. package/lib/useLatest-hmRS46UF.js.map +1 -0
  662. package/lib/zudoku.auth-auth0.js +15 -14
  663. package/lib/zudoku.auth-auth0.js.map +1 -1
  664. package/lib/zudoku.auth-clerk.js +67 -49
  665. package/lib/zudoku.auth-clerk.js.map +1 -1
  666. package/lib/zudoku.auth-openid.js +370 -405
  667. package/lib/zudoku.auth-openid.js.map +1 -1
  668. package/lib/zudoku.components.js +33 -1303
  669. package/lib/zudoku.components.js.map +1 -1
  670. package/lib/zudoku.hooks.js +19 -0
  671. package/lib/zudoku.hooks.js.map +1 -0
  672. package/lib/zudoku.icons.js +10 -0
  673. package/lib/zudoku.icons.js.map +1 -1
  674. package/lib/zudoku.plugin-api-catalog.js +106 -112
  675. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  676. package/lib/zudoku.plugin-api-keys.js +108 -106
  677. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  678. package/lib/zudoku.plugin-custom-pages.js +3 -3
  679. package/lib/zudoku.plugin-markdown.js +23 -44
  680. package/lib/zudoku.plugin-markdown.js.map +1 -1
  681. package/lib/zudoku.plugin-openapi.js +6 -7
  682. package/lib/zudoku.plugin-openapi.js.map +1 -1
  683. package/lib/zudoku.plugin-redirect.js +1 -1
  684. package/lib/zudoku.plugin-search-inkeep.js +9 -9
  685. package/lib/zudoku.plugin-search-pagefind.js +233 -0
  686. package/lib/zudoku.plugin-search-pagefind.js.map +1 -0
  687. package/lib/zudoku.plugins.js +14 -0
  688. package/lib/zudoku.plugins.js.map +1 -0
  689. package/package.json +100 -74
  690. package/src/app/entry.client.tsx +10 -0
  691. package/src/app/entry.server.tsx +23 -13
  692. package/src/app/main.css +106 -58
  693. package/src/app/main.tsx +15 -2
  694. package/src/app/tailwind.ts +20 -0
  695. package/src/lib/MissingIcon.tsx +22 -0
  696. package/src/lib/authentication/authentication.ts +2 -0
  697. package/src/lib/authentication/hook.ts +12 -1
  698. package/src/lib/authentication/providers/auth0.tsx +3 -2
  699. package/src/lib/authentication/providers/clerk.tsx +32 -8
  700. package/src/lib/authentication/providers/openid.tsx +31 -15
  701. package/src/lib/authentication/providers/supabase.tsx +157 -0
  702. package/src/lib/authentication/state.ts +9 -37
  703. package/src/lib/components/AnchorLink.tsx +9 -7
  704. package/src/lib/components/Banner.tsx +1 -0
  705. package/src/lib/components/Bootstrap.tsx +13 -6
  706. package/src/lib/components/BuildCheck.tsx +60 -0
  707. package/src/lib/components/Footer.tsx +139 -0
  708. package/src/lib/components/Header.tsx +12 -8
  709. package/src/lib/components/Heading.tsx +1 -1
  710. package/src/lib/components/InlineCode.tsx +13 -16
  711. package/src/lib/components/Layout.tsx +27 -65
  712. package/src/lib/components/Main.tsx +50 -0
  713. package/src/lib/components/MobileTopNavigation.tsx +27 -18
  714. package/src/lib/components/Pagination.tsx +50 -0
  715. package/src/lib/components/Search.tsx +14 -3
  716. package/src/lib/components/ThemeSwitch.tsx +28 -8
  717. package/src/lib/components/TopNavigation.tsx +51 -24
  718. package/src/lib/components/Zudoku.tsx +18 -7
  719. package/src/lib/components/cache.ts +8 -0
  720. package/src/lib/components/context/BypassProtectedRoutesContext.ts +3 -0
  721. package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
  722. package/src/lib/components/context/ViewportAnchorContext.tsx +6 -15
  723. package/src/lib/components/context/ZudokuContext.ts +30 -10
  724. package/src/lib/components/index.ts +4 -0
  725. package/src/lib/components/navigation/PoweredByZudoku.tsx +28 -0
  726. package/src/lib/components/navigation/Sidebar.tsx +37 -44
  727. package/src/lib/components/navigation/SidebarBadge.tsx +4 -1
  728. package/src/lib/components/navigation/SidebarCategory.tsx +15 -12
  729. package/src/lib/components/navigation/SidebarItem.tsx +22 -29
  730. package/src/lib/components/navigation/SidebarWrapper.tsx +42 -23
  731. package/src/lib/{plugins/markdown → components/navigation}/Toc.tsx +5 -14
  732. package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
  733. package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
  734. package/src/lib/core/RouteGuard.tsx +73 -12
  735. package/src/lib/core/ZudokuContext.ts +64 -13
  736. package/src/lib/core/plugins.ts +29 -7
  737. package/src/lib/errors/ErrorAlert.tsx +24 -17
  738. package/src/lib/hooks/index.ts +5 -0
  739. package/src/lib/hooks/useEvent.test.tsx +149 -0
  740. package/src/lib/hooks/useEvent.ts +41 -0
  741. package/src/lib/icons.ts +1 -0
  742. package/src/lib/oas/graphql/index.ts +206 -54
  743. package/src/lib/oas/parser/dereference/index.ts +2 -0
  744. package/src/lib/oas/parser/index.ts +7 -29
  745. package/src/lib/oas/parser/upgrade/index.ts +2 -1
  746. package/src/lib/plugins/api-catalog/Catalog.tsx +50 -100
  747. package/src/lib/plugins/api-catalog/index.tsx +66 -15
  748. package/src/lib/plugins/api-keys/CreateApiKey.tsx +7 -3
  749. package/src/lib/plugins/api-keys/index.tsx +3 -0
  750. package/src/lib/plugins/markdown/MdxPage.tsx +15 -47
  751. package/src/lib/plugins/markdown/resolver.ts +0 -33
  752. package/src/lib/plugins/openapi/ColorizedParam.tsx +1 -1
  753. package/src/lib/plugins/openapi/Endpoint.tsx +1 -1
  754. package/src/lib/plugins/openapi/OasProvider.tsx +51 -0
  755. package/src/lib/plugins/openapi/OperationList.tsx +171 -81
  756. package/src/lib/plugins/openapi/OperationListItem.tsx +118 -104
  757. package/src/lib/plugins/openapi/ParamInfos.tsx +87 -0
  758. package/src/lib/plugins/openapi/ParameterList.tsx +4 -0
  759. package/src/lib/plugins/openapi/ParameterListItem.tsx +35 -23
  760. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +8 -1
  761. package/src/lib/plugins/openapi/SchemaList.tsx +151 -0
  762. package/src/lib/plugins/openapi/Sidecar.tsx +50 -14
  763. package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -2
  764. package/src/lib/plugins/openapi/SimpleSelect.tsx +1 -1
  765. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +1 -1
  766. package/src/lib/plugins/openapi/client/useCreateQuery.ts +13 -5
  767. package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
  768. package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
  769. package/src/lib/plugins/openapi/graphql/gql.ts +34 -17
  770. package/src/lib/plugins/openapi/graphql/graphql.ts +172 -86
  771. package/src/lib/plugins/openapi/index.tsx +82 -177
  772. package/src/lib/plugins/openapi/interfaces.ts +44 -15
  773. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +30 -32
  774. package/src/lib/plugins/openapi/playground/Headers.tsx +0 -1
  775. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +74 -0
  776. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +54 -0
  777. package/src/lib/plugins/openapi/playground/PathParams.tsx +8 -2
  778. package/src/lib/plugins/openapi/playground/Playground.tsx +199 -110
  779. package/src/lib/plugins/openapi/playground/QueryParams.tsx +0 -1
  780. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +51 -0
  781. package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
  782. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +1 -1
  783. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +25 -5
  784. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +67 -45
  785. package/src/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.ts +29 -9
  786. package/src/lib/plugins/openapi/{post-processors → processors}/removeExtensions.ts +5 -3
  787. package/src/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.ts +67 -33
  788. package/src/lib/plugins/openapi/{post-processors → processors}/removeParameters.ts +5 -3
  789. package/src/lib/plugins/openapi/processors/removePaths.test.ts +167 -0
  790. package/src/lib/plugins/openapi/{post-processors → processors}/removePaths.ts +5 -3
  791. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -8
  792. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +3 -0
  793. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +6 -3
  794. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +36 -0
  795. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +47 -50
  796. package/src/lib/plugins/openapi/schema/SchemaView.tsx +84 -138
  797. package/src/lib/plugins/openapi/schema/utils.ts +7 -1
  798. package/src/lib/plugins/openapi/state.ts +36 -0
  799. package/src/lib/plugins/openapi/util/createSidebarCategory.tsx +37 -0
  800. package/src/lib/plugins/openapi/util/getRoutes.tsx +126 -0
  801. package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -0
  802. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +164 -0
  803. package/src/lib/plugins/search-pagefind/ResultList.tsx +105 -0
  804. package/src/lib/plugins/search-pagefind/get-results.tsx +75 -0
  805. package/src/lib/plugins/search-pagefind/index.tsx +21 -0
  806. package/src/lib/plugins/search-pagefind/types.ts +118 -0
  807. package/src/lib/ui/Button.tsx +4 -2
  808. package/src/lib/ui/Callout.tsx +29 -10
  809. package/src/lib/ui/Checkbox.tsx +8 -24
  810. package/src/lib/ui/Command.tsx +25 -3
  811. package/src/lib/ui/Select.tsx +1 -1
  812. package/src/lib/ui/Stepper.tsx +8 -0
  813. package/src/lib/ui/SyntaxHighlight.tsx +186 -0
  814. package/src/lib/ui/util.tsx +3 -0
  815. package/src/lib/util/MdxComponents.tsx +9 -4
  816. package/src/lib/util/detectOS.ts +9 -0
  817. package/src/lib/util/joinPath.tsx +3 -0
  818. package/src/lib/util/traverse.ts +4 -8
  819. package/src/lib/util/types.ts +7 -0
  820. package/src/lib/util/useLatest.ts +18 -0
  821. package/src/lib/util/useOnScreen.ts +6 -4
  822. package/src/lib/util/useScrollToAnchor.ts +30 -20
  823. package/client.d.ts +0 -8
  824. package/dist/lib/components/SyntaxHighlight.d.ts +0 -12
  825. package/dist/lib/components/SyntaxHighlight.js +0 -53
  826. package/dist/lib/components/SyntaxHighlight.js.map +0 -1
  827. package/dist/lib/components/context/PluginSystem.js +0 -2
  828. package/dist/lib/components/context/PluginSystem.js.map +0 -1
  829. package/dist/lib/plugins/markdown/Toc.js.map +0 -1
  830. package/dist/lib/plugins/openapi/OpenApiRoute.js +0 -25
  831. package/dist/lib/plugins/openapi/OpenApiRoute.js.map +0 -1
  832. package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +0 -7
  833. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +0 -1
  834. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +0 -1
  835. package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +0 -1
  836. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +0 -1
  837. package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +0 -1
  838. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +0 -104
  839. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +0 -1
  840. package/dist/lib/plugins/openapi/post-processors/traverse.js.map +0 -1
  841. package/dist/vite/prerender.d.ts +0 -22
  842. package/dist/vite/prerender.js +0 -89
  843. package/dist/vite/prerender.js.map +0 -1
  844. package/lib/Markdown-8mv9nhGd.js.map +0 -1
  845. package/lib/MdxPage-BalfwlsD.js +0 -193
  846. package/lib/MdxPage-BalfwlsD.js.map +0 -1
  847. package/lib/OpenApiRoute-ULLXjfro.js +0 -36
  848. package/lib/OpenApiRoute-ULLXjfro.js.map +0 -1
  849. package/lib/OperationList-B3VX94x4.js +0 -5179
  850. package/lib/OperationList-B3VX94x4.js.map +0 -1
  851. package/lib/SlotletProvider-D0mFmGJu.js +0 -221
  852. package/lib/SlotletProvider-D0mFmGJu.js.map +0 -1
  853. package/lib/Spinner-BlzrEEk1.js +0 -51
  854. package/lib/Spinner-BlzrEEk1.js.map +0 -1
  855. package/lib/SyntaxHighlight-B0L4SC_N.js.map +0 -1
  856. package/lib/ZudokuContext-dUyBGMap.js +0 -1229
  857. package/lib/ZudokuContext-dUyBGMap.js.map +0 -1
  858. package/lib/__vite-browser-external-BYRIRx8p.js +0 -9
  859. package/lib/__vite-browser-external-BYRIRx8p.js.map +0 -1
  860. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  861. package/lib/chunk-SYFQ2XB5-QijJrSf0.js.map +0 -1
  862. package/lib/circular-DxaIIlWD.js.map +0 -1
  863. package/lib/context-rwLGh-6_.js +0 -22
  864. package/lib/createServer-E3cXjB0P.js.map +0 -1
  865. package/lib/hook-NIpDSpau.js +0 -227
  866. package/lib/hook-NIpDSpau.js.map +0 -1
  867. package/lib/index-B7mqiOei.js +0 -509
  868. package/lib/index-B7mqiOei.js.map +0 -1
  869. package/lib/index-Djenk2Hj.js +0 -36
  870. package/lib/index-Dl3Yl0yb.js.map +0 -1
  871. package/lib/index-P0YUtHIb.js +0 -2065
  872. package/lib/index-P0YUtHIb.js.map +0 -1
  873. package/lib/index.esm-9-TF9KQB.js.map +0 -1
  874. package/lib/index.esm-CrSoEshU.js +0 -1207
  875. package/lib/index.esm-CrSoEshU.js.map +0 -1
  876. package/lib/joinUrl-nLx9pD-Z.js +0 -20
  877. package/lib/joinUrl-nLx9pD-Z.js.map +0 -1
  878. package/lib/jsx-runtime-Bdg6XQ1m.js +0 -446
  879. package/lib/jsx-runtime-Bdg6XQ1m.js.map +0 -1
  880. package/lib/post-processors/removeExtensions.js +0 -11
  881. package/lib/post-processors/removeExtensions.js.map +0 -1
  882. package/lib/post-processors/removeParameters.js.map +0 -1
  883. package/lib/post-processors/removePaths.js.map +0 -1
  884. package/lib/post-processors/traverse.js.map +0 -1
  885. package/lib/state-bfQxaDxU.js +0 -211
  886. package/lib/state-bfQxaDxU.js.map +0 -1
  887. package/lib/useScrollToAnchor-BVCQSeKB.js +0 -286
  888. package/lib/useScrollToAnchor-BVCQSeKB.js.map +0 -1
  889. package/src/lib/components/SyntaxHighlight.tsx +0 -171
  890. package/src/lib/components/context/PluginSystem.ts +0 -0
  891. package/src/lib/plugins/openapi/OpenApiRoute.tsx +0 -51
  892. package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +0 -126
  893. /package/dist/lib/{plugins/markdown → components/navigation}/Toc.d.ts +0 -0
  894. /package/dist/lib/{components/context/PluginSystem.d.ts → hooks/useEvent.test.d.ts} +0 -0
  895. /package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.d.ts +0 -0
  896. /package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.d.ts +0 -0
  897. /package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.test.d.ts +0 -0
  898. /package/dist/lib/plugins/openapi/{post-processors → processors}/traverse.d.ts +0 -0
  899. /package/dist/lib/plugins/openapi/{post-processors → processors}/traverse.js +0 -0
  900. /package/src/lib/plugins/openapi/{post-processors → processors}/traverse.ts +0 -0
@@ -3,11 +3,15 @@ import { OpenAPIV3, type OpenAPIV3_1 } from "openapi-types";
3
3
  import { dereference, type JSONSchema } from "./dereference/index.js";
4
4
  import { upgradeSchema } from "./upgrade/index.js";
5
5
 
6
- type ReferenceObject = OpenAPIV3_1.ReferenceObject;
7
- type DeepOmitReference<T> = T extends ReferenceObject
6
+ // Must be an interface (not a type) to allow merging with OpenAPI types with index signatures
7
+ interface WithRef {
8
+ __$ref?: string;
9
+ }
10
+
11
+ type DeepOmitReference<T> = T extends OpenAPIV3_1.ReferenceObject
8
12
  ? never
9
13
  : T extends object
10
- ? { [K in keyof T]: DeepOmitReference<T[K]> }
14
+ ? { [K in keyof T]: DeepOmitReference<T[K]> } & WithRef
11
15
  : T;
12
16
 
13
17
  export type OpenAPIDocument = DeepOmitReference<OpenAPIV3_1.Document>;
@@ -24,25 +28,6 @@ export type ServerObject = DeepOmitReference<OpenAPIV3_1.ServerObject>;
24
28
 
25
29
  export const HttpMethods = Object.values(OpenAPIV3.HttpMethods);
26
30
 
27
- // class ValidationError extends Error {
28
- // constructor(public errors: OutputUnit[]) {
29
- // super("Validation error");
30
- // }
31
- // }
32
-
33
- // const getValidator = async (openApiVersion: string) => {
34
- // if (openApiVersion.startsWith("3.0")) {
35
- // const schema = (await import("./schemas/v3.0.json")) as any;
36
- // return new Validator(schema, "4");
37
- // }
38
- // if (openApiVersion.startsWith("3.1")) {
39
- // const schema = (await import("./schemas/v3.1.json")) as any;
40
- // return new Validator(schema as any, "2020-12");
41
- // }
42
-
43
- // throw new Error(`Unsupported OpenAPI version: ${openApiVersion}`);
44
- // };
45
-
46
31
  const parseSchemaInput = async (
47
32
  schemaInput: unknown,
48
33
  ): Promise<JSONSchema & { openapi?: string }> => {
@@ -110,13 +95,6 @@ export const validate = async (schemaInput: unknown) => {
110
95
  throw new GraphQLError("OpenAPI version is not defined");
111
96
  }
112
97
 
113
- // const validator = await getValidator(schema.openapi);
114
- // const result = validator.validate(schema);
115
- //
116
- // if (!result.valid) {
117
- // throw new ValidationError(result.errors);
118
- // }
119
-
120
98
  const dereferenced = await dereference(schema);
121
99
 
122
100
  return upgradeSchema(dereferenced);
@@ -41,7 +41,8 @@ export const upgradeSchema = (schema: RecordAny): OpenAPIDocument => {
41
41
  });
42
42
 
43
43
  schema = traverse(schema, (sub) => {
44
- if (sub.example !== undefined) {
44
+ // may be null or undefined
45
+ if (sub.example) {
45
46
  const isExampleObject =
46
47
  typeof sub.example === "object" &&
47
48
  (sub.example.summary !== undefined ||
@@ -1,121 +1,71 @@
1
- import slugify from "@sindresorhus/slugify";
2
1
  import { useSuspenseQuery } from "@tanstack/react-query";
3
- import { useSearchParams } from "react-router";
4
- import { Head, Link } from "zudoku/components";
2
+ import { Helmet } from "@zudoku/react-helmet-async";
3
+ import { useMatch } from "react-router";
4
+ import { Link } from "zudoku/components";
5
5
  import { useAuthState } from "../../authentication/state.js";
6
+ import { Heading } from "../../components/Heading.js";
6
7
  import { Markdown } from "../../components/Markdown.js";
7
- import { cn } from "../../util/cn.js";
8
- import type { ApiCatalogPluginOptions } from "./index.js";
9
-
10
- const getKey = (category: string, tag: string) => slugify(`${category}-${tag}`);
8
+ import { joinUrl } from "../../util/joinUrl.js";
9
+ import { type ApiCatalogPluginOptions, getKey } from "./index.js";
11
10
 
12
11
  export const Catalog = ({
13
12
  items,
14
13
  filterCatalogItems = (items) => items,
15
- categories,
16
14
  label = "API Library",
17
- }: Omit<ApiCatalogPluginOptions, "navigationId">) => {
18
- const [searchParams, setSearchParams] = useSearchParams();
19
- const activeCategory = searchParams.get("category");
15
+ categoryLabel,
16
+ }: Omit<ApiCatalogPluginOptions, "navigationId"> & {
17
+ categoryLabel?: string;
18
+ }) => {
20
19
  const auth = useAuthState();
20
+ const match = useMatch({ path: "/catalog/:category" });
21
+ const activeCategory = match?.params.category;
21
22
 
22
23
  const catalogItems = useSuspenseQuery({
23
24
  queryFn: () => filterCatalogItems(items, { auth }),
24
25
  queryKey: ["catalogItems", auth],
25
26
  });
26
27
 
28
+ // Only index the overview page, ignore the rest
29
+ const dataSet = activeCategory ? { "data-pagefind-ignore": "all" } : {};
30
+
27
31
  return (
28
- <section className="pt-[--padding-content-top] pb-[--padding-content-bottom]">
29
- <Head>
30
- <title>{label}</title>
31
- </Head>
32
- <div className="grid grid-cols-12 gap-12">
33
- <div className="flex flex-col gap-4 col-span-3 not-prose sticky top-48">
34
- <div className="max-w-[--side-nav-width] flex flex-col gap-4 justify-between">
35
- {categories?.map((category, idx) => (
36
- <div key={category.label}>
37
- <div className="flex justify-between mb-2.5">
38
- <span className="font-medium text-sm">{category.label}</span>
39
- {idx === 0 && activeCategory && (
40
- <button
41
- type="button"
42
- className="text-end text-sm text-foreground/60 hover:text-foreground"
43
- onClick={() => setSearchParams({})}
44
- >
45
- Clear
46
- </button>
47
- )}
48
- </div>
49
- <ul className="space-y-1 [&>li]:py-2">
50
- {category.tags
51
- .map((tag) => ({
52
- tag,
53
- count: items.filter((api) =>
54
- api.categories.find((c) => c.tags.includes(tag)),
55
- ).length,
56
- }))
57
- .map(({ tag, count }) => {
58
- const slug = getKey(category.label, tag);
59
- const isActive = slug === activeCategory;
32
+ <section className="pt-[--padding-content-top]" {...dataSet}>
33
+ <Helmet>
34
+ <title>
35
+ {categoryLabel ? `${categoryLabel} - ` : ""}
36
+ {label}
37
+ </title>
38
+ </Helmet>
39
+ <div className="grid gap-4">
40
+ <Heading level={2}>
41
+ {label}
42
+ {categoryLabel && ` - ${categoryLabel}`}
43
+ </Heading>
60
44
 
61
- return (
62
- <li
63
- key={slug}
64
- className={cn(
65
- "flex rounded-lg justify-between text-sm cursor-pointer hover:text-primary transition px-[--padding-nav-item] -mx-[--padding-nav-item]",
66
- isActive && "bg-border/30 rounded",
67
- )}
68
- onClick={() => setSearchParams({ category: slug })}
69
- >
70
- <span>{tag}</span>
71
- <span
72
- className={cn(
73
- "flex items-center justify-center border rounded-md w-8 text-xs font-semibold",
74
- isActive &&
75
- "bg-primary border-primary text-primary-foreground",
76
- )}
77
- >
78
- {count}
79
- </span>
80
- </li>
81
- );
82
- })}
83
- </ul>
84
- </div>
45
+ <div className="grid grid-cols-2 gap-4">
46
+ {catalogItems.data
47
+ .filter(
48
+ (api) =>
49
+ !activeCategory ||
50
+ api.categories.find((c) =>
51
+ c.tags.find((t) => getKey(c.label, t) === activeCategory),
52
+ ),
53
+ )
54
+ .map((api) => (
55
+ <Link
56
+ to={joinUrl(api.path)}
57
+ className="no-underline hover:!text-foreground"
58
+ key={api.path}
59
+ >
60
+ <div className="border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal">
61
+ <span className="font-semibold">{api.label}</span>
62
+ <Markdown
63
+ className="text-sm whitespace-pre-wrap mb-6 line-clamp-2"
64
+ content={api.description}
65
+ />
66
+ </div>
67
+ </Link>
85
68
  ))}
86
- </div>
87
- </div>
88
- <div className="col-span-9">
89
- <h3 className="mt-0 text-2xl font-bold mb-4">{label}</h3>
90
-
91
- <div className="grid grid-cols-2 gap-4">
92
- {catalogItems.data
93
- .filter(
94
- (api) =>
95
- !activeCategory ||
96
- api.categories.find((c) =>
97
- c.tags.find((t) => getKey(c.label, t) === activeCategory),
98
- ),
99
- )
100
- .map((api) => (
101
- <Link
102
- to={{
103
- pathname: `/${api.path}`,
104
- search: activeCategory ? `category=${activeCategory}` : "",
105
- }}
106
- className="no-underline hover:!text-foreground"
107
- key={api.path}
108
- >
109
- <div className="border h-full rounded p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal">
110
- <span className="font-semibold">{api.label}</span>
111
- <Markdown
112
- className="text-sm whitespace-pre-wrap mb-6 line-clamp-2"
113
- content={api.description}
114
- />
115
- </div>
116
- </Link>
117
- ))}
118
- </div>
119
69
  </div>
120
70
  </div>
121
71
  </section>
@@ -1,7 +1,14 @@
1
+ import slugify from "@sindresorhus/slugify";
2
+ import { matchPath } from "react-router";
3
+ import type { SidebarItem } from "../../../config/validators/SidebarSchema.js";
1
4
  import type { AuthState } from "../../authentication/state.js";
2
5
  import type { ZudokuPlugin } from "../../core/plugins.js";
6
+ import { joinUrl } from "../../util/joinUrl.js";
3
7
  import { Catalog } from "./Catalog.js";
4
8
 
9
+ export const getKey = (category: string, tag: string) =>
10
+ slugify(`${category}-${tag}`);
11
+
5
12
  export type ApiCatalogItem = {
6
13
  path: string;
7
14
  label: string;
@@ -35,7 +42,7 @@ export const apiCatalogPlugin = ({
35
42
  navigationId,
36
43
  items,
37
44
  label,
38
- categories,
45
+ categories = [],
39
46
  filterCatalogItems,
40
47
  }: {
41
48
  navigationId: string;
@@ -44,21 +51,65 @@ export const apiCatalogPlugin = ({
44
51
  items: ApiCatalogItem[];
45
52
  filterCatalogItems?: filterCatalogItems;
46
53
  }): ZudokuPlugin => {
54
+ const paths = Object.fromEntries(
55
+ categories.flatMap((category) =>
56
+ [undefined, ...category.tags].map((tag) => [
57
+ joinUrl(navigationId, tag ? getKey(category.label, tag) : undefined),
58
+ tag,
59
+ ]),
60
+ ),
61
+ );
62
+
47
63
  return {
48
- getRoutes: () => {
49
- return [
50
- {
51
- path: navigationId,
52
- element: (
53
- <Catalog
54
- label={label}
55
- items={items}
56
- filterCatalogItems={filterCatalogItems}
57
- categories={categories ?? []}
58
- />
59
- ),
60
- },
61
- ];
64
+ getSidebar: async (currentPath) => {
65
+ const matches = Object.keys(paths).some((path) =>
66
+ matchPath(path, currentPath),
67
+ );
68
+
69
+ if (!matches) {
70
+ return [];
71
+ }
72
+
73
+ const sidebar: SidebarItem[] = categories.map((category) => ({
74
+ type: "category" as const,
75
+ label: category.label,
76
+ collapsible: false,
77
+ items: category.tags.map((tag) => ({
78
+ type: "doc" as const,
79
+ id: joinUrl(navigationId, getKey(category.label, tag)),
80
+ label: tag,
81
+ badge: {
82
+ label: String(
83
+ items.filter((api) =>
84
+ api.categories.find((c) => c.tags.includes(tag)),
85
+ ).length,
86
+ ),
87
+ color: "outline" as const,
88
+ },
89
+ })),
90
+ }));
91
+
92
+ sidebar.unshift({
93
+ type: "doc" as const,
94
+ id: joinUrl(navigationId),
95
+ label: "Overview",
96
+ badge: { label: String(items.length), color: "outline" as const },
97
+ });
98
+
99
+ return sidebar;
62
100
  },
101
+ getRoutes: () =>
102
+ Object.entries(paths).map(([path, tag]) => ({
103
+ path,
104
+ element: (
105
+ <Catalog
106
+ label={label}
107
+ categoryLabel={tag}
108
+ items={items}
109
+ filterCatalogItems={filterCatalogItems}
110
+ categories={categories}
111
+ />
112
+ ),
113
+ })),
63
114
  };
64
115
  };
@@ -1,4 +1,4 @@
1
- import { useMutation } from "@tanstack/react-query";
1
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
2
2
  import { useForm } from "react-hook-form";
3
3
  import { Link, useNavigate } from "react-router";
4
4
  import {
@@ -18,6 +18,7 @@ type CreateApiKey = { description: string; expiresOn?: string };
18
18
 
19
19
  export const CreateApiKey = ({ service }: { service: ApiKeyService }) => {
20
20
  const context = useZudoku();
21
+ const queryClient = useQueryClient();
21
22
  const navigate = useNavigate();
22
23
  const form = useForm<CreateApiKey>({
23
24
  defaultValues: {
@@ -27,7 +28,7 @@ export const CreateApiKey = ({ service }: { service: ApiKeyService }) => {
27
28
  const createKeyMutation = useMutation({
28
29
  mutationFn: ({ description, expiresOn }: CreateApiKey) => {
29
30
  if (!service.createKey) {
30
- throw new Error("deleteKey not implemented");
31
+ throw new Error("createKey not implemented");
31
32
  }
32
33
 
33
34
  const expiresOnDate =
@@ -38,7 +39,10 @@ export const CreateApiKey = ({ service }: { service: ApiKeyService }) => {
38
39
  context,
39
40
  );
40
41
  },
41
- onSuccess: () => navigate("/settings/api-keys/"),
42
+ onSuccess: async () => {
43
+ await queryClient.invalidateQueries({ queryKey: ["api-keys"] });
44
+ await navigate("/settings/api-keys/");
45
+ },
42
46
  });
43
47
 
44
48
  if (!service.createKey) {
@@ -92,6 +92,9 @@ const createDefaultHandler = (endpoint: string): ApiKeyService => {
92
92
  };
93
93
  };
94
94
 
95
+ export const createApiKeyService = <T extends ApiKeyService>(service: T): T =>
96
+ service;
97
+
95
98
  export const apiKeyPlugin = (
96
99
  options: ApiKeyPluginOptions,
97
100
  ): ZudokuPlugin & ApiIdentityPlugin & ProfileMenuPlugin => {
@@ -2,18 +2,18 @@ import { useMDXComponents } from "@mdx-js/react";
2
2
  import slugify from "@sindresorhus/slugify";
3
3
  import { Helmet } from "@zudoku/react-helmet-async";
4
4
  import { type PropsWithChildren, useEffect } from "react";
5
- import { Link, useHref } from "react-router";
6
5
  import { CategoryHeading } from "../../components/CategoryHeading.js";
7
6
  import { Heading } from "../../components/Heading.js";
8
7
  import { ProseClasses } from "../../components/Markdown.js";
8
+ import { Pagination } from "../../components/Pagination.js";
9
+ import { Toc } from "../../components/navigation/Toc.js";
9
10
  import {
10
11
  useCurrentItem,
11
12
  usePrevNext,
12
13
  } from "../../components/navigation/utils.js";
13
14
  import type { MdxComponentsType } from "../../util/MdxComponents.js";
14
15
  import { cn } from "../../util/cn.js";
15
- import { Toc } from "./Toc.js";
16
- import { MarkdownPluginDefaultOptions, MDXImport } from "./index.js";
16
+ import { type MarkdownPluginDefaultOptions, type MDXImport } from "./index.js";
17
17
 
18
18
  declare global {
19
19
  interface Window {
@@ -51,12 +51,6 @@ export const MdxPage = ({
51
51
  }
52
52
  >) => {
53
53
  const categoryTitle = useCurrentItem()?.categoryLabel;
54
- let canonicalUrl = null;
55
- const path = useHref("");
56
- if (typeof window !== "undefined") {
57
- const domain = window.location.origin;
58
- canonicalUrl = `${domain}${path}`;
59
- }
60
54
 
61
55
  const title = frontmatter.title;
62
56
  const category = frontmatter.category ?? categoryTitle;
@@ -90,16 +84,19 @@ export const MdxPage = ({
90
84
  }, [file]);
91
85
 
92
86
  return (
93
- <div className="xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between">
87
+ <div
88
+ className="grid grid-cols-1 xl:grid-cols-[--sidecar-grid-cols] gap-8 justify-between"
89
+ data-pagefind-filter="section:markdown"
90
+ data-pagefind-meta="section:markdown"
91
+ >
94
92
  <Helmet>
95
93
  <title>{pageTitle}</title>
96
94
  {excerpt && <meta name="description" content={excerpt} />}
97
- {canonicalUrl && <link rel="canonical" href={canonicalUrl} />}
98
95
  </Helmet>
99
96
  <div
100
97
  className={cn(
101
98
  ProseClasses,
102
- "max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]",
99
+ "max-w-full xl:w-full xl:max-w-3xl flex-1 flex-shrink pt-[--padding-content-top]",
103
100
  )}
104
101
  >
105
102
  {(category || title) && (
@@ -117,41 +114,12 @@ export const MdxPage = ({
117
114
  />
118
115
  {!hidePager && (
119
116
  <>
120
- <hr />
121
- <div className="not-prose flex flex-wrap items-center justify-between gap-2 lg:gap-8">
122
- {prev ? (
123
- <Link
124
- to={prev.id}
125
- className="flex flex-col items-stretch gap-2 flex-1 min-w-max border rounded px-6 py-4 text-start hover:border-primary/85 transition shadow-sm hover:shadow-md"
126
- title={prev.label}
127
- >
128
- <div className="text-sm text-muted-foreground">
129
- ← Previous page
130
- </div>
131
- <div className="text-lg text-primary truncate">
132
- {prev.label}
133
- </div>
134
- </Link>
135
- ) : (
136
- <div className="flex-1" />
137
- )}
138
- {next ? (
139
- <Link
140
- to={next.id}
141
- className="flex flex-col items-stretch gap-2 flex-1 min-w-max border rounded px-6 py-4 text-end hover:border-primary/85 transition shadow-sm hover:shadow-md"
142
- title={next.label}
143
- >
144
- <div className="text-sm text-muted-foreground">
145
- Next page →
146
- </div>
147
- <div className="text-lg text-primary truncate">
148
- {next.label}
149
- </div>
150
- </Link>
151
- ) : (
152
- <div className="flex-1" />
153
- )}
154
- </div>
117
+ <hr className="my-10" />
118
+ <Pagination
119
+ prev={prev ? { to: prev.id, label: prev.label } : undefined}
120
+ next={next ? { to: next.id, label: next.label } : undefined}
121
+ className="mb-4"
122
+ />
155
123
  </>
156
124
  )}
157
125
  </div>
@@ -1,13 +1,8 @@
1
- import fs from "fs";
2
- import path from "path";
3
1
  import { ZudokuDocsConfig } from "../../../config/validators/common.js";
4
2
  import { ZudokuConfig } from "../../../config/validators/validate.js";
5
3
 
6
4
  const DEFAULT_DOCS_FILES = "/pages/**/*.{md,mdx}";
7
5
 
8
- // TODO: This should be dynamic based on the glob selector
9
- const SUPPORTED_EXTENSIONS = [".md", ".mdx"];
10
-
11
6
  /**
12
7
  * Utilities for resolving markdown file paths and routes
13
8
  */
@@ -29,34 +24,6 @@ export class DocResolver {
29
24
  return docsConfigs;
30
25
  }
31
26
 
32
- /**
33
- * Resolves the first matching file system path for a given docId
34
- * @param docId - The docId to resolve
35
- * @returns
36
- */
37
- resolveFilePath(docId: string) {
38
- const docsConfigs = this.getDocsConfigs();
39
- let fsPath: string | undefined;
40
-
41
- docsConfigs.forEach(({ files: fileGlob }) => {
42
- if (fsPath) {
43
- return;
44
- }
45
- const rootDir = DocResolver.getRootDir(fileGlob);
46
- for (const ext of SUPPORTED_EXTENSIONS) {
47
- if (fsPath) {
48
- return;
49
- }
50
- const checkPath = path.join(rootDir, `${docId}${ext}`);
51
- if (fs.existsSync(checkPath)) {
52
- fsPath = checkPath;
53
- }
54
- }
55
- });
56
-
57
- return fsPath;
58
- }
59
-
60
27
  /**
61
28
  * Gets the root directory from a files glob
62
29
  */
@@ -90,7 +90,7 @@ export const ColorizedParam = ({
90
90
  {...{ [DATA_ATTR]: normalizedSlug }}
91
91
  className={cn(
92
92
  // This may not contain (inline-)flex or (inline-)block otherwise it breaks the browser's full text search
93
- "relative rounded transition-all duration-100 rounded-lg",
93
+ "relative transition-all duration-100 rounded-lg",
94
94
  "border border-[--border-color] p-0.5 text-[--param-color] bg-[--background-color]",
95
95
  "data-[active=true]:border-[--param-color] data-[active=true]:shadow data-[active=true]:bottom-px",
96
96
  className,
@@ -1,13 +1,13 @@
1
1
  import { useSuspenseQuery } from "@tanstack/react-query";
2
2
  import { CheckIcon, CopyIcon } from "lucide-react";
3
3
  import { useState, useTransition } from "react";
4
- import { useSelectedServer } from "../../authentication/state.js";
5
4
  import { InlineCode } from "../../components/InlineCode.js";
6
5
  import { Button } from "../../ui/Button.js";
7
6
  import { useCreateQuery } from "./client/useCreateQuery.js";
8
7
  import { useOasConfig } from "./context.js";
9
8
  import { graphql } from "./graphql/index.js";
10
9
  import { SimpleSelect } from "./SimpleSelect.js";
10
+ import { useSelectedServer } from "./state.js";
11
11
 
12
12
  const ServersQuery = graphql(/* GraphQL */ `
13
13
  query ServersQuery($input: JSON!, $type: SchemaType!) {
@@ -0,0 +1,51 @@
1
+ import { useMemo } from "react";
2
+ import { Outlet } from "react-router";
3
+ import { joinPath } from "../../util/joinPath.js";
4
+ import type { GraphQLClient } from "./client/GraphQLClient.js";
5
+ import { GraphQLProvider } from "./client/GraphQLContext.js";
6
+ import { OasConfigProvider } from "./context.js";
7
+ import { type OasPluginConfig } from "./interfaces.js";
8
+ import { getVersions } from "./util/getRoutes.js";
9
+
10
+ export const OasProvider = ({
11
+ basePath,
12
+ version,
13
+ config,
14
+ client,
15
+ }: {
16
+ basePath: string;
17
+ version?: string;
18
+ config: OasPluginConfig;
19
+ client: GraphQLClient;
20
+ }) => {
21
+ const value = useMemo(() => {
22
+ const versions = getVersions(config);
23
+ const firstVersion = Object.values(config.input).at(0);
24
+ const input =
25
+ config.type === "file"
26
+ ? {
27
+ type: config.type,
28
+ input: version ? config.input[version]! : firstVersion!,
29
+ }
30
+ : { type: config.type, input: config.input };
31
+
32
+ return {
33
+ config: {
34
+ ...config,
35
+ version: version ?? versions.at(0),
36
+ versions: Object.fromEntries(
37
+ versions.map((version) => [version, joinPath(basePath, version)]),
38
+ ),
39
+ ...input,
40
+ },
41
+ };
42
+ }, [config, basePath, version]);
43
+
44
+ return (
45
+ <OasConfigProvider value={value}>
46
+ <GraphQLProvider client={client}>
47
+ <Outlet />
48
+ </GraphQLProvider>
49
+ </OasConfigProvider>
50
+ );
51
+ };