zudoku 0.0.0-f2fd45c → 0.0.0-f3786a4

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 (842) hide show
  1. package/client.d.ts +7 -0
  2. package/dist/app/demo.js +1 -4
  3. package/dist/app/demo.js.map +1 -1
  4. package/dist/app/entry.client.d.ts +1 -0
  5. package/dist/app/entry.client.js +14 -1
  6. package/dist/app/entry.client.js.map +1 -1
  7. package/dist/app/entry.server.d.ts +1 -0
  8. package/dist/app/entry.server.js +8 -8
  9. package/dist/app/entry.server.js.map +1 -1
  10. package/dist/app/main.d.ts +3 -3
  11. package/dist/app/main.js +23 -10
  12. package/dist/app/main.js.map +1 -1
  13. package/dist/app/sentry.d.ts +3 -0
  14. package/dist/app/sentry.js +19 -0
  15. package/dist/app/sentry.js.map +1 -0
  16. package/dist/app/standalone.js +1 -4
  17. package/dist/app/standalone.js.map +1 -1
  18. package/dist/app/tailwind.d.ts +2 -1
  19. package/dist/app/tailwind.js +64 -52
  20. package/dist/app/tailwind.js.map +1 -1
  21. package/dist/cli/cli.js +0 -2
  22. package/dist/cli/cli.js.map +1 -1
  23. package/dist/cli/cmds/build.js +1 -0
  24. package/dist/cli/cmds/build.js.map +1 -1
  25. package/dist/cli/cmds/dev.js +5 -0
  26. package/dist/cli/cmds/dev.js.map +1 -1
  27. package/dist/cli/common/logger.js +9 -0
  28. package/dist/cli/common/logger.js.map +1 -1
  29. package/dist/cli/common/outdated.js +2 -1
  30. package/dist/cli/common/outdated.js.map +1 -1
  31. package/dist/cli/dev/handler.d.ts +1 -0
  32. package/dist/cli/dev/handler.js +3 -3
  33. package/dist/cli/dev/handler.js.map +1 -1
  34. package/dist/codegen.d.ts +3 -0
  35. package/dist/codegen.js +45 -0
  36. package/dist/codegen.js.map +1 -0
  37. package/dist/config/common.d.ts +8 -0
  38. package/dist/config/common.js +2 -0
  39. package/dist/config/common.js.map +1 -0
  40. package/dist/config/config.d.ts +4 -2
  41. package/dist/config/loader.d.ts +20 -0
  42. package/dist/config/loader.js +154 -0
  43. package/dist/config/loader.js.map +1 -0
  44. package/dist/config/validators/InputSidebarSchema.d.ts +37 -21
  45. package/dist/config/validators/InputSidebarSchema.js +1 -0
  46. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  47. package/dist/config/validators/common.d.ts +5034 -0
  48. package/dist/config/validators/common.js +287 -0
  49. package/dist/config/validators/common.js.map +1 -0
  50. package/dist/config/validators/icon-types.d.ts +1 -0
  51. package/dist/config/validators/icon-types.js +2 -0
  52. package/dist/config/validators/icon-types.js.map +1 -0
  53. package/dist/config/validators/validate.d.ts +875 -566
  54. package/dist/config/validators/validate.js +9 -228
  55. package/dist/config/validators/validate.js.map +1 -1
  56. package/dist/index.d.ts +2 -2
  57. package/dist/index.js +1 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/lib/authentication/AuthenticationPlugin.d.ts +4 -2
  60. package/dist/lib/authentication/AuthenticationPlugin.js +3 -0
  61. package/dist/lib/authentication/AuthenticationPlugin.js.map +1 -1
  62. package/dist/lib/authentication/authentication.d.ts +3 -3
  63. package/dist/lib/authentication/components/CallbackHandler.js +1 -1
  64. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  65. package/dist/lib/authentication/components/SignIn.js +1 -1
  66. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  67. package/dist/lib/authentication/components/SignOut.js +2 -2
  68. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  69. package/dist/lib/authentication/hook.d.ts +5 -4
  70. package/dist/lib/authentication/hook.js +1 -3
  71. package/dist/lib/authentication/hook.js.map +1 -1
  72. package/dist/lib/authentication/providers/auth0.js +12 -12
  73. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  74. package/dist/lib/authentication/providers/clerk.js +29 -6
  75. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  76. package/dist/lib/authentication/providers/openid.d.ts +8 -2
  77. package/dist/lib/authentication/providers/openid.js +31 -35
  78. package/dist/lib/authentication/providers/openid.js.map +1 -1
  79. package/dist/lib/authentication/state.d.ts +25 -4
  80. package/dist/lib/authentication/state.js +28 -3
  81. package/dist/lib/authentication/state.js.map +1 -1
  82. package/dist/lib/authentication/use-broadcast/shared.d.ts +48 -0
  83. package/dist/lib/authentication/use-broadcast/shared.js +243 -0
  84. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -0
  85. package/dist/lib/authentication/use-broadcast/useBroadcast.d.ts +24 -0
  86. package/dist/lib/authentication/use-broadcast/useBroadcast.js +106 -0
  87. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -0
  88. package/dist/lib/components/AnchorLink.d.ts +1 -1
  89. package/dist/lib/components/AnchorLink.js +6 -3
  90. package/dist/lib/components/AnchorLink.js.map +1 -1
  91. package/dist/lib/components/Autocomplete.d.ts +12 -0
  92. package/dist/lib/components/Autocomplete.js +47 -0
  93. package/dist/lib/components/Autocomplete.js.map +1 -0
  94. package/dist/lib/components/Bootstrap.d.ts +4 -3
  95. package/dist/lib/components/Bootstrap.js +12 -6
  96. package/dist/lib/components/Bootstrap.js.map +1 -1
  97. package/dist/lib/components/ClientOnly.d.ts +4 -2
  98. package/dist/lib/components/ClientOnly.js +1 -1
  99. package/dist/lib/components/ClientOnly.js.map +1 -1
  100. package/dist/lib/components/DeveloperHint.js +2 -1
  101. package/dist/lib/components/DeveloperHint.js.map +1 -1
  102. package/dist/lib/components/Header.js +21 -15
  103. package/dist/lib/components/Header.js.map +1 -1
  104. package/dist/lib/components/Heading.d.ts +4 -4
  105. package/dist/lib/components/Heading.js +1 -1
  106. package/dist/lib/components/Heading.js.map +1 -1
  107. package/dist/lib/components/Layout.js +14 -5
  108. package/dist/lib/components/Layout.js.map +1 -1
  109. package/dist/lib/components/Markdown.d.ts +2 -2
  110. package/dist/lib/components/Markdown.js +4 -2
  111. package/dist/lib/components/Markdown.js.map +1 -1
  112. package/dist/lib/components/MobileTopNavigation.js +6 -7
  113. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  114. package/dist/lib/components/NotFoundPage.js +1 -1
  115. package/dist/lib/components/NotFoundPage.js.map +1 -1
  116. package/dist/lib/components/ReactMarkdown.d.ts +29 -0
  117. package/dist/lib/components/ReactMarkdown.js +182 -0
  118. package/dist/lib/components/ReactMarkdown.js.map +1 -0
  119. package/dist/lib/components/Search.d.ts +3 -1
  120. package/dist/lib/components/Search.js +3 -3
  121. package/dist/lib/components/Search.js.map +1 -1
  122. package/dist/lib/components/SlotletProvider.d.ts +2 -2
  123. package/dist/lib/components/StatusPage.d.ts +7 -0
  124. package/dist/lib/components/StatusPage.js +71 -0
  125. package/dist/lib/components/StatusPage.js.map +1 -0
  126. package/dist/lib/components/SyntaxHighlight.d.ts +2 -1
  127. package/dist/lib/components/SyntaxHighlight.js +17 -17
  128. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  129. package/dist/lib/components/ThemeSwitch.d.ts +1 -0
  130. package/dist/lib/components/ThemeSwitch.js +13 -0
  131. package/dist/lib/components/ThemeSwitch.js.map +1 -0
  132. package/dist/lib/components/TopNavigation.d.ts +2 -0
  133. package/dist/lib/components/TopNavigation.js +14 -8
  134. package/dist/lib/components/TopNavigation.js.map +1 -1
  135. package/dist/lib/components/{DevPortal.d.ts → Zudoku.d.ts} +3 -3
  136. package/dist/lib/components/{DevPortal.js → Zudoku.js} +14 -15
  137. package/dist/lib/components/Zudoku.js.map +1 -0
  138. package/dist/lib/components/cache.d.ts +6 -0
  139. package/dist/lib/components/cache.js +13 -0
  140. package/dist/lib/components/cache.js.map +1 -0
  141. package/dist/lib/components/context/ViewportAnchorContext.js +16 -4
  142. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  143. package/dist/lib/components/context/ZudokuContext.d.ts +7 -7
  144. package/dist/lib/components/context/ZudokuContext.js +11 -15
  145. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  146. package/dist/lib/components/context/ZudokuProvider.d.ts +2 -2
  147. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  148. package/dist/lib/components/index.d.ts +34 -15
  149. package/dist/lib/components/index.js +12 -6
  150. package/dist/lib/components/index.js.map +1 -1
  151. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  152. package/dist/lib/components/navigation/Sidebar.js +2 -2
  153. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  154. package/dist/lib/components/navigation/SidebarBadge.d.ts +4 -3
  155. package/dist/lib/components/navigation/SidebarBadge.js +11 -11
  156. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -1
  157. package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
  158. package/dist/lib/components/navigation/SidebarCategory.js +5 -6
  159. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  160. package/dist/lib/components/navigation/SidebarItem.d.ts +2 -4
  161. package/dist/lib/components/navigation/SidebarItem.js +7 -12
  162. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  163. package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
  164. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  165. package/dist/lib/components/navigation/utils.js +3 -3
  166. package/dist/lib/components/navigation/utils.js.map +1 -1
  167. package/dist/lib/core/RouteGuard.d.ts +1 -0
  168. package/dist/lib/core/RouteGuard.js +28 -0
  169. package/dist/lib/core/RouteGuard.js.map +1 -0
  170. package/dist/lib/core/{DevPortalContext.d.ts → ZudokuContext.d.ts} +8 -10
  171. package/dist/lib/core/{DevPortalContext.js → ZudokuContext.js} +11 -14
  172. package/dist/lib/core/ZudokuContext.js.map +1 -0
  173. package/dist/lib/core/plugins.d.ts +17 -13
  174. package/dist/lib/core/plugins.js.map +1 -1
  175. package/dist/lib/errors/ErrorAlert.js +1 -1
  176. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  177. package/dist/lib/errors/RouterError.js +1 -1
  178. package/dist/lib/errors/RouterError.js.map +1 -1
  179. package/dist/lib/oas/graphql/circular.d.ts +3 -0
  180. package/dist/lib/oas/graphql/circular.js +27 -0
  181. package/dist/lib/oas/graphql/circular.js.map +1 -0
  182. package/dist/lib/oas/graphql/index.d.ts +3 -0
  183. package/dist/lib/oas/graphql/index.js +40 -26
  184. package/dist/lib/oas/graphql/index.js.map +1 -1
  185. package/dist/lib/oas/parser/dereference/index.js +6 -3
  186. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  187. package/dist/lib/oas/parser/upgrade/index.d.ts +2 -2
  188. package/dist/lib/oas/parser/upgrade/index.js +19 -20
  189. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  190. package/dist/lib/plugins/api-catalog/Catalog.d.ts +2 -0
  191. package/dist/lib/plugins/api-catalog/Catalog.js +36 -0
  192. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -0
  193. package/dist/lib/plugins/api-catalog/index.d.ts +30 -0
  194. package/dist/lib/plugins/api-catalog/index.js +15 -0
  195. package/dist/lib/plugins/api-catalog/index.js.map +1 -0
  196. package/dist/lib/plugins/api-keys/CreateApiKey.js +1 -1
  197. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  198. package/dist/lib/plugins/api-keys/ProtectedRoute.js +1 -1
  199. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  200. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +1 -1
  201. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  202. package/dist/lib/plugins/api-keys/index.d.ts +9 -9
  203. package/dist/lib/plugins/api-keys/index.js +3 -0
  204. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  205. package/dist/lib/plugins/custom-pages/index.d.ts +2 -2
  206. package/dist/lib/plugins/custom-pages/index.js.map +1 -1
  207. package/dist/lib/plugins/markdown/MdxPage.d.ts +9 -1
  208. package/dist/lib/plugins/markdown/MdxPage.js +22 -3
  209. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  210. package/dist/lib/plugins/markdown/index.d.ts +5 -3
  211. package/dist/lib/plugins/markdown/index.js +1 -1
  212. package/dist/lib/plugins/markdown/index.js.map +1 -1
  213. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  214. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +5 -0
  215. package/dist/lib/plugins/openapi/CollapsibleCode.js +25 -0
  216. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -0
  217. package/dist/lib/plugins/openapi/ColorizedParam.d.ts +10 -2
  218. package/dist/lib/plugins/openapi/ColorizedParam.js +27 -14
  219. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  220. package/dist/lib/plugins/openapi/Endpoint.js +8 -10
  221. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  222. package/dist/lib/plugins/openapi/OperationList.d.ts +2 -2
  223. package/dist/lib/plugins/openapi/OperationList.js +46 -23
  224. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  225. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  226. package/dist/lib/plugins/openapi/OperationListItem.js +14 -4
  227. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  228. package/dist/lib/plugins/openapi/ParameterListItem.js +7 -1
  229. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  230. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -1
  231. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +5 -2
  232. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  233. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +4 -5
  234. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +4 -10
  235. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  236. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +7 -6
  237. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  238. package/dist/lib/plugins/openapi/Route.d.ts +7 -5
  239. package/dist/lib/plugins/openapi/Route.js +23 -5
  240. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  241. package/dist/lib/plugins/openapi/Sidecar.d.ts +1 -1
  242. package/dist/lib/plugins/openapi/Sidecar.js +46 -51
  243. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  244. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  245. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  246. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -0
  247. package/dist/lib/plugins/openapi/SidecarExamples.js +65 -0
  248. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -0
  249. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +8 -0
  250. package/dist/lib/plugins/openapi/client/GraphQLClient.js +43 -0
  251. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -0
  252. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +7 -0
  253. package/dist/lib/plugins/openapi/client/GraphQLContext.js +5 -0
  254. package/dist/lib/plugins/openapi/client/GraphQLContext.js.map +1 -0
  255. package/dist/lib/plugins/openapi/client/createServer.d.ts +3 -1
  256. package/dist/lib/plugins/openapi/client/createServer.js +5 -2
  257. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  258. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +5 -0
  259. package/dist/lib/plugins/openapi/client/useCreateQuery.js +13 -0
  260. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -0
  261. package/dist/lib/plugins/openapi/context.d.ts +3 -3
  262. package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +3 -3
  263. package/dist/lib/plugins/openapi/graphql/fragment-masking.js +3 -4
  264. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  265. package/dist/lib/plugins/openapi/graphql/gql.d.ts +5 -51
  266. package/dist/lib/plugins/openapi/graphql/gql.js +5 -3
  267. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  268. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +34 -8
  269. package/dist/lib/plugins/openapi/graphql/graphql.js +195 -662
  270. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  271. package/dist/lib/plugins/openapi/index.d.ts +4 -3
  272. package/dist/lib/plugins/openapi/index.js +56 -74
  273. package/dist/lib/plugins/openapi/index.js.map +1 -1
  274. package/dist/lib/plugins/openapi/interfaces.d.ts +26 -2
  275. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
  276. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +12 -0
  277. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -0
  278. package/dist/lib/plugins/openapi/playground/Headers.js +66 -4
  279. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  280. package/dist/lib/plugins/openapi/playground/PathParams.js +9 -4
  281. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  282. package/dist/lib/plugins/openapi/playground/Playground.d.ts +8 -1
  283. package/dist/lib/plugins/openapi/playground/Playground.js +40 -12
  284. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  285. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  286. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  287. package/dist/lib/plugins/openapi/playground/QueryParams.js +19 -14
  288. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  289. package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +7 -0
  290. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +16 -0
  291. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -0
  292. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +174 -0
  293. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -0
  294. package/dist/lib/plugins/openapi/post-processors/removeParameters.d.ts +10 -0
  295. package/dist/lib/plugins/openapi/post-processors/removeParameters.js +66 -0
  296. package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +1 -0
  297. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.d.ts +1 -0
  298. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js +131 -0
  299. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +1 -0
  300. package/dist/lib/plugins/openapi/post-processors/removePaths.d.ts +11 -0
  301. package/dist/lib/plugins/openapi/post-processors/removePaths.js +33 -0
  302. package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +1 -0
  303. package/dist/lib/plugins/openapi/post-processors/removePaths.test.d.ts +1 -0
  304. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +104 -0
  305. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +1 -0
  306. package/dist/lib/plugins/openapi/post-processors/traverse.d.ts +1 -0
  307. package/dist/lib/plugins/openapi/post-processors/traverse.js +2 -0
  308. package/dist/lib/plugins/openapi/post-processors/traverse.js.map +1 -0
  309. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +9 -2
  310. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
  311. package/dist/lib/plugins/openapi/schema/SchemaView.js +2 -1
  312. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  313. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +0 -1
  314. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +36 -39
  315. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  316. package/dist/lib/plugins/openapi/util/methodToColor.d.ts +20 -0
  317. package/dist/lib/plugins/openapi/util/methodToColor.js +24 -0
  318. package/dist/lib/plugins/openapi/util/methodToColor.js.map +1 -0
  319. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
  320. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js +27 -0
  321. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js.map +1 -0
  322. package/dist/lib/plugins/redirect/index.d.ts +3 -3
  323. package/dist/lib/plugins/redirect/index.js +1 -1
  324. package/dist/lib/plugins/redirect/index.js.map +1 -1
  325. package/dist/lib/plugins/search-inkeep/index.d.ts +24 -5
  326. package/dist/lib/plugins/search-inkeep/index.js +41 -5
  327. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  328. package/dist/lib/plugins/search-inkeep/inkeep.d.ts +3 -4
  329. package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
  330. package/dist/lib/ui/ActionButton.d.ts +4 -0
  331. package/dist/lib/ui/ActionButton.js +10 -0
  332. package/dist/lib/ui/ActionButton.js.map +1 -0
  333. package/dist/lib/ui/Badge.d.ts +1 -1
  334. package/dist/lib/ui/Badge.js +2 -1
  335. package/dist/lib/ui/Badge.js.map +1 -1
  336. package/dist/lib/ui/Button.d.ts +1 -1
  337. package/dist/lib/ui/Card.js +1 -1
  338. package/dist/lib/ui/Card.js.map +1 -1
  339. package/dist/lib/ui/Checkbox.d.ts +8 -2
  340. package/dist/lib/ui/Checkbox.js +13 -1
  341. package/dist/lib/ui/Checkbox.js.map +1 -1
  342. package/dist/lib/ui/Command.d.ts +10 -2
  343. package/dist/lib/ui/Command.js +5 -1
  344. package/dist/lib/ui/Command.js.map +1 -1
  345. package/dist/lib/util/MdxComponents.d.ts +19 -20
  346. package/dist/lib/util/MdxComponents.js +3 -5
  347. package/dist/lib/util/MdxComponents.js.map +1 -1
  348. package/dist/lib/util/createVariantComponent.d.ts +2 -2
  349. package/dist/lib/util/joinUrl.d.ts +1 -0
  350. package/dist/lib/util/joinUrl.js +40 -0
  351. package/dist/lib/util/joinUrl.js.map +1 -0
  352. package/dist/lib/util/traverse.d.ts +9 -0
  353. package/dist/lib/util/traverse.js +22 -0
  354. package/dist/lib/util/traverse.js.map +1 -0
  355. package/dist/lib/util/useExposedProps.js +1 -1
  356. package/dist/lib/util/useExposedProps.js.map +1 -1
  357. package/dist/lib/util/useIsomorphicLayoutEffect.d.ts +3 -0
  358. package/dist/lib/util/useIsomorphicLayoutEffect.js +4 -0
  359. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -0
  360. package/dist/lib/util/useOnScreen.d.ts +4 -0
  361. package/dist/lib/util/useOnScreen.js +19 -0
  362. package/dist/lib/util/useOnScreen.js.map +1 -0
  363. package/dist/lib/util/useScrollToAnchor.d.ts +1 -0
  364. package/dist/lib/util/useScrollToAnchor.js +27 -16
  365. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  366. package/dist/lib/util/useScrollToTop.js +1 -1
  367. package/dist/lib/util/useScrollToTop.js.map +1 -1
  368. package/dist/vite/api/schema-codegen.d.ts +12 -0
  369. package/dist/vite/api/schema-codegen.js +62 -0
  370. package/dist/vite/api/schema-codegen.js.map +1 -0
  371. package/dist/vite/api/schema-codegen.test.d.ts +1 -0
  372. package/dist/vite/api/schema-codegen.test.js +247 -0
  373. package/dist/vite/api/schema-codegen.test.js.map +1 -0
  374. package/dist/vite/build.js +24 -10
  375. package/dist/vite/build.js.map +1 -1
  376. package/dist/vite/config.d.ts +6 -4
  377. package/dist/vite/config.js +83 -31
  378. package/dist/vite/config.js.map +1 -1
  379. package/dist/vite/config.test.js +11 -5
  380. package/dist/vite/config.test.js.map +1 -1
  381. package/dist/vite/css/collect.d.ts +2 -0
  382. package/dist/vite/css/collect.js +27 -0
  383. package/dist/vite/css/collect.js.map +1 -0
  384. package/dist/vite/css/plugin.d.ts +5 -0
  385. package/dist/vite/css/plugin.js +79 -0
  386. package/dist/vite/css/plugin.js.map +1 -0
  387. package/dist/vite/dev-server.d.ts +1 -0
  388. package/dist/vite/dev-server.js +26 -6
  389. package/dist/vite/dev-server.js.map +1 -1
  390. package/dist/vite/html.js +0 -2
  391. package/dist/vite/html.js.map +1 -1
  392. package/dist/vite/output.d.ts +1 -1
  393. package/dist/vite/output.js +44 -12
  394. package/dist/vite/output.js.map +1 -1
  395. package/dist/vite/plugin-api.d.ts +1 -1
  396. package/dist/vite/plugin-api.js +154 -22
  397. package/dist/vite/plugin-api.js.map +1 -1
  398. package/dist/vite/plugin-auth.js +4 -1
  399. package/dist/vite/plugin-auth.js.map +1 -1
  400. package/dist/vite/plugin-component.js +14 -19
  401. package/dist/vite/plugin-component.js.map +1 -1
  402. package/dist/vite/plugin-config-reload.d.ts +1 -2
  403. package/dist/vite/plugin-config-reload.js.map +1 -1
  404. package/dist/vite/plugin-config.js +20 -0
  405. package/dist/vite/plugin-config.js.map +1 -1
  406. package/dist/vite/plugin-docs.test.js +15 -23
  407. package/dist/vite/plugin-docs.test.js.map +1 -1
  408. package/dist/vite/plugin-mdx.d.ts +0 -6
  409. package/dist/vite/plugin-mdx.js +72 -10
  410. package/dist/vite/plugin-mdx.js.map +1 -1
  411. package/dist/vite/{plugin-custom-css.d.ts → plugin-theme-css.d.ts} +2 -2
  412. package/dist/vite/plugin-theme-css.js +114 -0
  413. package/dist/vite/plugin-theme-css.js.map +1 -0
  414. package/dist/vite/plugin.d.ts +1 -2
  415. package/dist/vite/plugin.js +6 -4
  416. package/dist/vite/plugin.js.map +1 -1
  417. package/dist/vite/prerender.d.ts +3 -2
  418. package/dist/vite/prerender.js +8 -6
  419. package/dist/vite/prerender.js.map +1 -1
  420. package/dist/vite/remarkStaticGeneration.d.ts +3 -0
  421. package/dist/vite/remarkStaticGeneration.js +125 -0
  422. package/dist/vite/remarkStaticGeneration.js.map +1 -0
  423. package/dist/vite/sitemap.d.ts +1 -1
  424. package/dist/zuplo/enrich-with-zuplo.d.ts +5 -0
  425. package/dist/zuplo/enrich-with-zuplo.js +184 -0
  426. package/dist/zuplo/enrich-with-zuplo.js.map +1 -0
  427. package/dist/zuplo/env.d.ts +7 -0
  428. package/dist/zuplo/env.js +12 -0
  429. package/dist/zuplo/env.js.map +1 -0
  430. package/dist/zuplo/policy-types.d.ts +33 -0
  431. package/dist/zuplo/policy-types.js +8 -0
  432. package/dist/zuplo/policy-types.js.map +1 -0
  433. package/dist/zuplo/with-zuplo-processors.d.ts +3 -0
  434. package/dist/zuplo/with-zuplo-processors.js +26 -0
  435. package/dist/zuplo/with-zuplo-processors.js.map +1 -0
  436. package/dist/zuplo/with-zuplo.d.ts +3 -0
  437. package/dist/zuplo/with-zuplo.js +9 -0
  438. package/dist/zuplo/with-zuplo.js.map +1 -0
  439. package/lib/AuthenticationPlugin-CvwlQWjV.js +58 -0
  440. package/lib/AuthenticationPlugin-CvwlQWjV.js.map +1 -0
  441. package/lib/{CategoryHeading-Bb9dqxD3.js → CategoryHeading-MYL1u_6K.js} +3 -3
  442. package/lib/{CategoryHeading-Bb9dqxD3.js.map → CategoryHeading-MYL1u_6K.js.map} +1 -1
  443. package/lib/{ClientOnly-CVN6leDu.js → ClientOnly-E7hGysn1.js} +4 -4
  444. package/lib/ClientOnly-E7hGysn1.js.map +1 -0
  445. package/lib/Markdown-B8o9Qz4q.js +15213 -0
  446. package/lib/Markdown-B8o9Qz4q.js.map +1 -0
  447. package/lib/MdxPage-DiWukCrZ.js +193 -0
  448. package/lib/MdxPage-DiWukCrZ.js.map +1 -0
  449. package/lib/OperationList-CyNwMHMV.js +5146 -0
  450. package/lib/OperationList-CyNwMHMV.js.map +1 -0
  451. package/lib/Route-DH64hIrR.js +35 -0
  452. package/lib/Route-DH64hIrR.js.map +1 -0
  453. package/lib/{Select-Bagt3Bme.js → Select-4kIgJ1bc.js} +39 -39
  454. package/lib/Select-4kIgJ1bc.js.map +1 -0
  455. package/lib/SlotletProvider-CtIp8rP3.js +221 -0
  456. package/lib/SlotletProvider-CtIp8rP3.js.map +1 -0
  457. package/lib/Spinner-BlzrEEk1.js +51 -0
  458. package/lib/Spinner-BlzrEEk1.js.map +1 -0
  459. package/lib/{StaggeredRender-DDHSzQKE.js → StaggeredRender-DgsamH_G.js} +3 -3
  460. package/lib/{StaggeredRender-DDHSzQKE.js.map → StaggeredRender-DgsamH_G.js.map} +1 -1
  461. package/lib/SyntaxHighlight-C1w1QPdY.js +2980 -0
  462. package/lib/SyntaxHighlight-C1w1QPdY.js.map +1 -0
  463. package/lib/ZudokuContext-Bp2uQx1d.js +1228 -0
  464. package/lib/ZudokuContext-Bp2uQx1d.js.map +1 -0
  465. package/lib/chunk-SYFQ2XB5-BPvC-soB.js +1821 -0
  466. package/lib/chunk-SYFQ2XB5-BPvC-soB.js.map +1 -0
  467. package/lib/circular-Dgpd6AN-.js +15397 -0
  468. package/lib/circular-Dgpd6AN-.js.map +1 -0
  469. package/lib/{cn-BmFQLtkS.js → cn-qaFjX9_3.js} +2 -2
  470. package/lib/cn-qaFjX9_3.js.map +1 -0
  471. package/lib/context-rwLGh-6_.js +22 -0
  472. package/lib/context-rwLGh-6_.js.map +1 -0
  473. package/lib/createServer-BV0tHzLK.js +12590 -0
  474. package/lib/createServer-BV0tHzLK.js.map +1 -0
  475. package/lib/{hook-sn0zMTkE.js → hook-BDmay56y.js} +22 -24
  476. package/lib/hook-BDmay56y.js.map +1 -0
  477. package/lib/index-B7mqiOei.js +509 -0
  478. package/lib/index-B7mqiOei.js.map +1 -0
  479. package/lib/index-BtNudmKQ.js +1744 -0
  480. package/lib/index-BtNudmKQ.js.map +1 -0
  481. package/lib/index-Djenk2Hj.js +36 -0
  482. package/lib/index-Djenk2Hj.js.map +1 -0
  483. package/lib/{index-CkwDvuPt.js → index-Dl3Yl0yb.js} +303 -286
  484. package/lib/index-Dl3Yl0yb.js.map +1 -0
  485. package/lib/index-LNp6rxyU.js.map +1 -1
  486. package/lib/index.esm-9-TF9KQB.js +692 -0
  487. package/lib/index.esm-9-TF9KQB.js.map +1 -0
  488. package/lib/index.esm-CrSoEshU.js +1207 -0
  489. package/lib/index.esm-CrSoEshU.js.map +1 -0
  490. package/lib/invariant-Caa8-XvF.js.map +1 -1
  491. package/lib/joinUrl-BTy9bvoK.js +20 -0
  492. package/lib/joinUrl-BTy9bvoK.js.map +1 -0
  493. package/lib/jsx-runtime-Bdg6XQ1m.js +446 -0
  494. package/lib/jsx-runtime-Bdg6XQ1m.js.map +1 -0
  495. package/lib/post-processors/removeExtensions.js +11 -0
  496. package/lib/post-processors/removeExtensions.js.map +1 -0
  497. package/lib/post-processors/removeParameters.js +48 -0
  498. package/lib/post-processors/removeParameters.js.map +1 -0
  499. package/lib/post-processors/removePaths.js +28 -0
  500. package/lib/post-processors/removePaths.js.map +1 -0
  501. package/lib/post-processors/traverse.js +15 -0
  502. package/lib/post-processors/traverse.js.map +1 -0
  503. package/lib/{prism-bash.min-DadFsM4Z.js → prism-bash.min-HHIMdNJ_.js} +4 -4
  504. package/lib/{prism-bash.min-DadFsM4Z.js.map → prism-bash.min-HHIMdNJ_.js.map} +1 -1
  505. package/lib/prism-csharp.min-bQAo2pmx.js +63 -0
  506. package/lib/{prism-csharp.min-Yizuc34Y.js.map → prism-csharp.min-bQAo2pmx.js.map} +1 -1
  507. package/lib/prism-java.min-BpvsOuIa.js +35 -0
  508. package/lib/{prism-java.min-d5iT_mOd.js.map → prism-java.min-BpvsOuIa.js.map} +1 -1
  509. package/lib/{prism-markdown.min-F3U-vPBi.js → prism-markdown.min-C0Qn0m-5.js} +30 -30
  510. package/lib/{prism-markdown.min-F3U-vPBi.js.map → prism-markdown.min-C0Qn0m-5.js.map} +1 -1
  511. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  512. package/lib/prism-ruby.min-Dx9KO9ds.js +38 -0
  513. package/lib/{prism-ruby.min-C7LwcKyz.js.map → prism-ruby.min-Dx9KO9ds.js.map} +1 -1
  514. package/lib/prism-typescript.min-CD7H2IYQ.js +34 -0
  515. package/lib/{prism-typescript.min-oSVeWCAd.js.map → prism-typescript.min-CD7H2IYQ.js.map} +1 -1
  516. package/lib/state-mM7uaXTW.js +202 -0
  517. package/lib/state-mM7uaXTW.js.map +1 -0
  518. package/lib/ui/Accordion.js +2 -2
  519. package/lib/ui/Accordion.js.map +1 -1
  520. package/lib/ui/ActionButton.js +24 -0
  521. package/lib/ui/ActionButton.js.map +1 -0
  522. package/lib/ui/Alert.js +3 -3
  523. package/lib/ui/Alert.js.map +1 -1
  524. package/lib/ui/AlertDialog.js +2 -2
  525. package/lib/ui/AlertDialog.js.map +1 -1
  526. package/lib/ui/Badge.js +5 -4
  527. package/lib/ui/Badge.js.map +1 -1
  528. package/lib/ui/Breadcrumb.js +2 -2
  529. package/lib/ui/Breadcrumb.js.map +1 -1
  530. package/lib/ui/Button.js +3 -3
  531. package/lib/ui/Button.js.map +1 -1
  532. package/lib/ui/Callout.js +2 -2
  533. package/lib/ui/Callout.js.map +1 -1
  534. package/lib/ui/Card.js +9 -9
  535. package/lib/ui/Card.js.map +1 -1
  536. package/lib/ui/Carousel.js +408 -402
  537. package/lib/ui/Carousel.js.map +1 -1
  538. package/lib/ui/Checkbox.js +26 -15
  539. package/lib/ui/Checkbox.js.map +1 -1
  540. package/lib/ui/Command.js +80 -501
  541. package/lib/ui/Command.js.map +1 -1
  542. package/lib/ui/Dialog.js +2 -2
  543. package/lib/ui/Dialog.js.map +1 -1
  544. package/lib/ui/Drawer.js +515 -514
  545. package/lib/ui/Drawer.js.map +1 -1
  546. package/lib/ui/DropdownMenu.js +2 -2
  547. package/lib/ui/DropdownMenu.js.map +1 -1
  548. package/lib/ui/Form.js +3 -3
  549. package/lib/ui/Form.js.map +1 -1
  550. package/lib/ui/HoverCard.js +2 -2
  551. package/lib/ui/Input.js +2 -2
  552. package/lib/ui/Input.js.map +1 -1
  553. package/lib/ui/Label.js +3 -3
  554. package/lib/ui/Pagination.js +8 -8
  555. package/lib/ui/Pagination.js.map +1 -1
  556. package/lib/ui/Popover.js +2 -2
  557. package/lib/ui/Popover.js.map +1 -1
  558. package/lib/ui/Progress.js +2 -2
  559. package/lib/ui/Progress.js.map +1 -1
  560. package/lib/ui/RadioGroup.js +2 -2
  561. package/lib/ui/RadioGroup.js.map +1 -1
  562. package/lib/ui/ScrollArea.js +2 -2
  563. package/lib/ui/ScrollArea.js.map +1 -1
  564. package/lib/ui/Select.js +2 -2
  565. package/lib/ui/Select.js.map +1 -1
  566. package/lib/ui/Skeleton.js +2 -2
  567. package/lib/ui/Skeleton.js.map +1 -1
  568. package/lib/ui/Slider.js +2 -2
  569. package/lib/ui/Switch.js +2 -2
  570. package/lib/ui/Switch.js.map +1 -1
  571. package/lib/ui/Tabs.js +2 -2
  572. package/lib/ui/Textarea.js +2 -2
  573. package/lib/ui/Textarea.js.map +1 -1
  574. package/lib/ui/Toggle.js +3 -3
  575. package/lib/ui/Toggle.js.map +1 -1
  576. package/lib/ui/ToggleGroup.js +2 -2
  577. package/lib/ui/ToggleGroup.js.map +1 -1
  578. package/lib/ui/Tooltip.js +2 -2
  579. package/lib/{useExposedProps-ChOIUaS4.js → useExposedProps-BLKFBylA.js} +2 -2
  580. package/lib/useExposedProps-BLKFBylA.js.map +1 -0
  581. package/lib/useScrollToAnchor-S-NbG5Za.js +288 -0
  582. package/lib/useScrollToAnchor-S-NbG5Za.js.map +1 -0
  583. package/lib/zudoku.auth-auth0.js +24 -20
  584. package/lib/zudoku.auth-auth0.js.map +1 -1
  585. package/lib/zudoku.auth-clerk.js +79 -51
  586. package/lib/zudoku.auth-clerk.js.map +1 -1
  587. package/lib/zudoku.auth-openid.js +409 -410
  588. package/lib/zudoku.auth-openid.js.map +1 -1
  589. package/lib/zudoku.components.js +855 -1120
  590. package/lib/zudoku.components.js.map +1 -1
  591. package/lib/zudoku.plugin-api-catalog.js +123 -0
  592. package/lib/zudoku.plugin-api-catalog.js.map +1 -0
  593. package/lib/zudoku.plugin-api-keys.js +40 -39
  594. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  595. package/lib/zudoku.plugin-custom-pages.js +4 -4
  596. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  597. package/lib/zudoku.plugin-markdown.js +16 -15
  598. package/lib/zudoku.plugin-markdown.js.map +1 -1
  599. package/lib/zudoku.plugin-openapi.js +6 -10
  600. package/lib/zudoku.plugin-openapi.js.map +1 -1
  601. package/lib/zudoku.plugin-redirect.js +1 -1
  602. package/lib/zudoku.plugin-redirect.js.map +1 -1
  603. package/lib/zudoku.plugin-search-inkeep.js +53 -24
  604. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  605. package/package.json +109 -82
  606. package/src/app/demo.tsx +1 -5
  607. package/src/app/entry.client.tsx +16 -1
  608. package/src/app/entry.server.tsx +62 -55
  609. package/src/app/main.css +58 -45
  610. package/src/app/main.tsx +36 -13
  611. package/src/app/sentry.ts +24 -0
  612. package/src/app/standalone.tsx +1 -5
  613. package/src/app/tailwind.ts +67 -52
  614. package/src/lib/authentication/AuthenticationPlugin.tsx +4 -1
  615. package/src/lib/authentication/authentication.ts +3 -3
  616. package/src/lib/authentication/components/CallbackHandler.tsx +1 -1
  617. package/src/lib/authentication/components/SignIn.tsx +1 -1
  618. package/src/lib/authentication/components/SignOut.tsx +3 -2
  619. package/src/lib/authentication/hook.ts +1 -3
  620. package/src/lib/authentication/providers/auth0.tsx +16 -14
  621. package/src/lib/authentication/providers/clerk.tsx +38 -7
  622. package/src/lib/authentication/providers/openid.tsx +41 -40
  623. package/src/lib/authentication/state.ts +50 -9
  624. package/{LICENSE.md → src/lib/authentication/use-broadcast/LICENSE.md} +2 -2
  625. package/src/lib/authentication/use-broadcast/shared.ts +372 -0
  626. package/src/lib/authentication/use-broadcast/useBroadcast.ts +146 -0
  627. package/src/lib/components/AnchorLink.tsx +6 -3
  628. package/src/lib/components/Autocomplete.tsx +111 -0
  629. package/src/lib/components/Bootstrap.tsx +36 -16
  630. package/src/lib/components/ClientOnly.tsx +6 -3
  631. package/src/lib/components/DeveloperHint.tsx +6 -1
  632. package/src/lib/components/Header.tsx +81 -49
  633. package/src/lib/components/Heading.tsx +13 -13
  634. package/src/lib/components/Layout.tsx +55 -38
  635. package/src/lib/components/Markdown.tsx +15 -16
  636. package/src/lib/components/MobileTopNavigation.tsx +27 -30
  637. package/src/lib/components/NotFoundPage.tsx +1 -1
  638. package/src/lib/components/ReactMarkdown.license.txt +21 -0
  639. package/src/lib/components/ReactMarkdown.tsx +264 -0
  640. package/src/lib/components/Search.tsx +3 -3
  641. package/src/lib/components/SlotletProvider.tsx +1 -1
  642. package/src/lib/components/StatusPage.tsx +91 -0
  643. package/src/lib/components/SyntaxHighlight.tsx +95 -50
  644. package/src/lib/components/ThemeSwitch.tsx +25 -0
  645. package/src/lib/components/TopNavigation.tsx +28 -20
  646. package/src/lib/components/Zudoku.tsx +108 -0
  647. package/src/lib/components/cache.ts +15 -0
  648. package/src/lib/components/context/ViewportAnchorContext.tsx +20 -6
  649. package/src/lib/components/context/ZudokuContext.ts +15 -18
  650. package/src/lib/components/context/ZudokuProvider.tsx +2 -2
  651. package/src/lib/components/index.ts +17 -7
  652. package/src/lib/components/navigation/Sidebar.tsx +20 -10
  653. package/src/lib/components/navigation/SidebarBadge.tsx +13 -11
  654. package/src/lib/components/navigation/SidebarCategory.tsx +8 -11
  655. package/src/lib/components/navigation/SidebarItem.tsx +12 -15
  656. package/src/lib/components/navigation/SidebarWrapper.tsx +3 -2
  657. package/src/lib/components/navigation/utils.ts +3 -3
  658. package/src/lib/core/RouteGuard.tsx +35 -0
  659. package/src/lib/core/{DevPortalContext.ts → ZudokuContext.ts} +13 -20
  660. package/src/lib/core/plugins.ts +17 -17
  661. package/src/lib/errors/ErrorAlert.tsx +2 -1
  662. package/src/lib/errors/RouterError.tsx +1 -1
  663. package/src/lib/oas/graphql/circular.ts +29 -0
  664. package/src/lib/oas/graphql/index.ts +51 -35
  665. package/src/lib/oas/parser/dereference/index.ts +8 -4
  666. package/src/lib/oas/parser/upgrade/index.ts +22 -28
  667. package/src/lib/plugins/api-catalog/Catalog.tsx +123 -0
  668. package/src/lib/plugins/api-catalog/index.tsx +64 -0
  669. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  670. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +1 -1
  671. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +1 -1
  672. package/src/lib/plugins/api-keys/index.tsx +13 -10
  673. package/src/lib/plugins/custom-pages/index.tsx +3 -3
  674. package/src/lib/plugins/markdown/MdxPage.tsx +36 -2
  675. package/src/lib/plugins/markdown/index.tsx +7 -4
  676. package/src/lib/plugins/markdown/resolver.ts +2 -4
  677. package/src/lib/plugins/openapi/CollapsibleCode.tsx +83 -0
  678. package/src/lib/plugins/openapi/ColorizedParam.tsx +49 -23
  679. package/src/lib/plugins/openapi/Endpoint.tsx +8 -13
  680. package/src/lib/plugins/openapi/OperationList.tsx +84 -44
  681. package/src/lib/plugins/openapi/OperationListItem.tsx +33 -4
  682. package/src/lib/plugins/openapi/ParameterListItem.tsx +35 -31
  683. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +7 -0
  684. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +14 -34
  685. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +46 -58
  686. package/src/lib/plugins/openapi/Route.tsx +42 -11
  687. package/src/lib/plugins/openapi/Sidecar.tsx +89 -82
  688. package/src/lib/plugins/openapi/SidecarBox.tsx +4 -16
  689. package/src/lib/plugins/openapi/SidecarExamples.tsx +163 -0
  690. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +65 -0
  691. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -0
  692. package/src/lib/plugins/openapi/client/createServer.ts +8 -2
  693. package/src/lib/plugins/openapi/client/useCreateQuery.ts +18 -0
  694. package/src/lib/plugins/openapi/context.tsx +2 -2
  695. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +11 -18
  696. package/src/lib/plugins/openapi/graphql/gql.ts +12 -29
  697. package/src/lib/plugins/openapi/graphql/graphql.ts +236 -665
  698. package/src/lib/plugins/openapi/index.tsx +85 -105
  699. package/src/lib/plugins/openapi/interfaces.ts +31 -2
  700. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +51 -0
  701. package/src/lib/plugins/openapi/playground/Headers.tsx +139 -41
  702. package/src/lib/plugins/openapi/playground/PathParams.tsx +72 -63
  703. package/src/lib/plugins/openapi/playground/Playground.tsx +181 -74
  704. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
  705. package/src/lib/plugins/openapi/playground/QueryParams.tsx +87 -91
  706. package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +202 -0
  707. package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +27 -0
  708. package/src/lib/plugins/openapi/post-processors/removeParameters.test.ts +148 -0
  709. package/src/lib/plugins/openapi/post-processors/removeParameters.ts +101 -0
  710. package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +126 -0
  711. package/src/lib/plugins/openapi/post-processors/removePaths.ts +55 -0
  712. package/src/lib/plugins/openapi/post-processors/traverse.ts +1 -0
  713. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +29 -8
  714. package/src/lib/plugins/openapi/schema/SchemaView.tsx +5 -2
  715. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +44 -43
  716. package/src/lib/plugins/openapi/util/methodToColor.ts +27 -0
  717. package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
  718. package/src/lib/plugins/redirect/index.tsx +4 -4
  719. package/src/lib/plugins/search-inkeep/index.tsx +80 -25
  720. package/src/lib/plugins/search-inkeep/inkeep.ts +3 -9
  721. package/src/lib/ui/ActionButton.tsx +28 -0
  722. package/src/lib/ui/Badge.tsx +2 -1
  723. package/src/lib/ui/Card.tsx +1 -1
  724. package/src/lib/ui/Checkbox.tsx +24 -7
  725. package/src/lib/ui/Command.tsx +20 -0
  726. package/src/lib/util/MdxComponents.tsx +5 -9
  727. package/src/lib/util/createVariantComponent.tsx +2 -2
  728. package/src/lib/util/joinUrl.ts +57 -0
  729. package/src/lib/util/traverse.ts +35 -0
  730. package/src/lib/util/useExposedProps.tsx +1 -1
  731. package/src/lib/util/useIsomorphicLayoutEffect.ts +5 -0
  732. package/src/lib/util/useOnScreen.ts +32 -0
  733. package/src/lib/util/useScrollToAnchor.ts +33 -16
  734. package/src/lib/util/useScrollToTop.ts +1 -1
  735. package/dist/lib/components/DevPortal.js.map +0 -1
  736. package/dist/lib/components/context/ThemeContext.d.ts +0 -2
  737. package/dist/lib/components/context/ThemeContext.js +0 -7
  738. package/dist/lib/components/context/ThemeContext.js.map +0 -1
  739. package/dist/lib/components/context/ThemeProvider.d.ts +0 -4
  740. package/dist/lib/components/context/ThemeProvider.js +0 -23
  741. package/dist/lib/components/context/ThemeProvider.js.map +0 -1
  742. package/dist/lib/core/DevPortalContext.js.map +0 -1
  743. package/dist/lib/plugins/openapi/client/createMemoryClient.d.ts +0 -12
  744. package/dist/lib/plugins/openapi/client/createMemoryClient.js +0 -46
  745. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +0 -1
  746. package/dist/lib/plugins/openapi/client/createWorkerClient.d.ts +0 -10
  747. package/dist/lib/plugins/openapi/client/createWorkerClient.js +0 -61
  748. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +0 -1
  749. package/dist/lib/plugins/openapi/client/interfaces.d.ts +0 -4
  750. package/dist/lib/plugins/openapi/client/interfaces.js +0 -2
  751. package/dist/lib/plugins/openapi/client/interfaces.js.map +0 -1
  752. package/dist/lib/plugins/openapi/client/worker.js +0 -20
  753. package/dist/lib/plugins/openapi/client/worker.js.map +0 -1
  754. package/dist/lib/plugins/openapi-worker.d.ts +0 -1
  755. package/dist/lib/plugins/openapi-worker.js +0 -2
  756. package/dist/lib/plugins/openapi-worker.js.map +0 -1
  757. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.d.ts +0 -2
  758. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js +0 -3
  759. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js.map +0 -1
  760. package/dist/lib/themeToggle.d.ts +0 -1
  761. package/dist/lib/themeToggle.js +0 -7
  762. package/dist/lib/themeToggle.js.map +0 -1
  763. package/dist/lib/util/createWaitForNotify.d.ts +0 -1
  764. package/dist/lib/util/createWaitForNotify.js +0 -15
  765. package/dist/lib/util/createWaitForNotify.js.map +0 -1
  766. package/dist/vite/plugin-custom-css.js +0 -55
  767. package/dist/vite/plugin-custom-css.js.map +0 -1
  768. package/dist/vite/plugin-html-transform.d.ts +0 -2
  769. package/dist/vite/plugin-html-transform.js +0 -15
  770. package/dist/vite/plugin-html-transform.js.map +0 -1
  771. package/lib/AnchorLink-BbB2q-jx.js +0 -705
  772. package/lib/AnchorLink-BbB2q-jx.js.map +0 -1
  773. package/lib/AuthenticationPlugin-C9BHGXlE.js +0 -55
  774. package/lib/AuthenticationPlugin-C9BHGXlE.js.map +0 -1
  775. package/lib/ClientOnly-CVN6leDu.js.map +0 -1
  776. package/lib/DeveloperHint-DHdLXGHA.js +0 -16
  777. package/lib/DeveloperHint-DHdLXGHA.js.map +0 -1
  778. package/lib/Dialog-k70Qfukb.js +0 -67
  779. package/lib/Dialog-k70Qfukb.js.map +0 -1
  780. package/lib/InkeepCustomTrigger-CE5-K5ex.js +0 -6
  781. package/lib/InkeepCustomTrigger-CE5-K5ex.js.map +0 -1
  782. package/lib/Markdown-BDcCAWwm.js +0 -18059
  783. package/lib/Markdown-BDcCAWwm.js.map +0 -1
  784. package/lib/MdxPage-DKMH_t0f.js +0 -174
  785. package/lib/MdxPage-DKMH_t0f.js.map +0 -1
  786. package/lib/OperationList-Tj7ubW_t.js +0 -604
  787. package/lib/OperationList-Tj7ubW_t.js.map +0 -1
  788. package/lib/Route-C3DGB6OS.js +0 -13
  789. package/lib/Route-C3DGB6OS.js.map +0 -1
  790. package/lib/Select-Bagt3Bme.js.map +0 -1
  791. package/lib/SlotletProvider-Da7eFgd2.js +0 -241
  792. package/lib/SlotletProvider-Da7eFgd2.js.map +0 -1
  793. package/lib/Spinner-C6zroowC.js +0 -40
  794. package/lib/Spinner-C6zroowC.js.map +0 -1
  795. package/lib/ZudokuContext-BKXGJTmu.js +0 -1222
  796. package/lib/ZudokuContext-BKXGJTmu.js.map +0 -1
  797. package/lib/assets/index-B_Jk_Yzp.js +0 -4820
  798. package/lib/assets/index-B_Jk_Yzp.js.map +0 -1
  799. package/lib/assets/worker-Bf8vjASY.js +0 -18197
  800. package/lib/assets/worker-Bf8vjASY.js.map +0 -1
  801. package/lib/cn-BmFQLtkS.js.map +0 -1
  802. package/lib/hook-sn0zMTkE.js.map +0 -1
  803. package/lib/index-AjWCJNGC.js +0 -5690
  804. package/lib/index-AjWCJNGC.js.map +0 -1
  805. package/lib/index-BuAyrJe3.js +0 -46
  806. package/lib/index-BuAyrJe3.js.map +0 -1
  807. package/lib/index-CRo94sKK.js +0 -1783
  808. package/lib/index-CRo94sKK.js.map +0 -1
  809. package/lib/index-CkwDvuPt.js.map +0 -1
  810. package/lib/index.esm-C5mr_sKO.js +0 -1193
  811. package/lib/index.esm-C5mr_sKO.js.map +0 -1
  812. package/lib/jsx-runtime-B6kdoens.js +0 -635
  813. package/lib/jsx-runtime-B6kdoens.js.map +0 -1
  814. package/lib/prism-csharp.min-Yizuc34Y.js +0 -35
  815. package/lib/prism-java.min-d5iT_mOd.js +0 -7
  816. package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
  817. package/lib/prism-markup-templating-DZrrEs0A.js.map +0 -1
  818. package/lib/prism-php.min-o7FpoMP_.js +0 -11
  819. package/lib/prism-php.min-o7FpoMP_.js.map +0 -1
  820. package/lib/prism-ruby.min-C7LwcKyz.js +0 -10
  821. package/lib/prism-typescript.min-oSVeWCAd.js +0 -6
  822. package/lib/router-BsfSoK2j.js +0 -3024
  823. package/lib/router-BsfSoK2j.js.map +0 -1
  824. package/lib/state-CsuHT8ZO.js +0 -183
  825. package/lib/state-CsuHT8ZO.js.map +0 -1
  826. package/lib/urql-core-KJnLL26g.js +0 -1455
  827. package/lib/urql-core-KJnLL26g.js.map +0 -1
  828. package/lib/useExposedProps-ChOIUaS4.js.map +0 -1
  829. package/lib/zudoku.openapi-worker.js +0 -16341
  830. package/lib/zudoku.openapi-worker.js.map +0 -1
  831. package/src/lib/components/DevPortal.tsx +0 -111
  832. package/src/lib/components/context/ThemeContext.tsx +0 -8
  833. package/src/lib/components/context/ThemeProvider.tsx +0 -27
  834. package/src/lib/plugins/openapi/client/createMemoryClient.ts +0 -51
  835. package/src/lib/plugins/openapi/client/createWorkerClient.ts +0 -75
  836. package/src/lib/plugins/openapi/client/interfaces.ts +0 -5
  837. package/src/lib/plugins/openapi/client/worker.ts +0 -30
  838. package/src/lib/plugins/openapi-worker.ts +0 -1
  839. package/src/lib/plugins/search-inkeep/InkeepCustomTrigger.tsx +0 -3
  840. package/src/lib/themeToggle.ts +0 -7
  841. package/src/lib/util/createWaitForNotify.ts +0 -18
  842. /package/dist/lib/plugins/openapi/{client/worker.d.ts → post-processors/removeExtensions.test.d.ts} +0 -0
@@ -0,0 +1,114 @@
1
+ import { objectEntries } from "../lib/util/objectEntries.js";
2
+ const THEME_VARIABLES = [
3
+ "background",
4
+ "foreground",
5
+ "card",
6
+ "cardForeground",
7
+ "popover",
8
+ "popoverForeground",
9
+ "primary",
10
+ "primaryForeground",
11
+ "secondary",
12
+ "secondaryForeground",
13
+ "muted",
14
+ "mutedForeground",
15
+ "accent",
16
+ "accentForeground",
17
+ "destructive",
18
+ "destructiveForeground",
19
+ "border",
20
+ "input",
21
+ "ring",
22
+ "radius",
23
+ ];
24
+ const uncamelize = (str) => str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
25
+ const hexToHSLA = (hex) => {
26
+ // Remove # if present
27
+ hex = hex.replace('#', '');
28
+ // Convert 3-digit hex to 6-digit
29
+ if (hex.length === 3) {
30
+ hex = hex.split('').map(char => char + char).join('');
31
+ }
32
+ // Parse the hex values
33
+ const r = parseInt(hex.substring(0, 2), 16) / 255;
34
+ const g = parseInt(hex.substring(2, 4), 16) / 255;
35
+ const b = parseInt(hex.substring(4, 6), 16) / 255;
36
+ const max = Math.max(r, g, b);
37
+ const min = Math.min(r, g, b);
38
+ let h = 0;
39
+ let s = 0;
40
+ const l = (max + min) / 2;
41
+ if (max !== min) {
42
+ const d = max - min;
43
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
44
+ switch (max) {
45
+ case r:
46
+ h = (g - b) / d + (g < b ? 6 : 0);
47
+ break;
48
+ case g:
49
+ h = (b - r) / d + 2;
50
+ break;
51
+ case b:
52
+ h = (r - g) / d + 4;
53
+ break;
54
+ }
55
+ h /= 6;
56
+ }
57
+ // Convert to degrees and percentages
58
+ h = Math.round(h * 360);
59
+ s = Math.round(s * 100);
60
+ const lPercent = Math.round(l * 100);
61
+ return `${h} ${s}% ${lPercent}%`;
62
+ };
63
+ const isHexColor = (value) => {
64
+ return /^#([A-Fa-f0-9]{3}){1,2}$/.test(value);
65
+ };
66
+ const processColorValue = (value) => {
67
+ if (!value)
68
+ return '';
69
+ if (isHexColor(value)) {
70
+ return hexToHSLA(value);
71
+ }
72
+ return value;
73
+ };
74
+ const generateCss = (theme) => objectEntries(theme)
75
+ .filter(([key]) => THEME_VARIABLES.includes(key))
76
+ .map(([key, value]) => {
77
+ const processedValue = processColorValue(value);
78
+ return `--${uncamelize(key)}:${processedValue};`;
79
+ })
80
+ .join("\n");
81
+ export const viteThemeCss = (getConfig) => {
82
+ const virtualModuleId = "virtual:zudoku-theme.css";
83
+ const resolvedVirtualModuleId = "\0" + virtualModuleId;
84
+ return {
85
+ name: "zudoku-theme",
86
+ resolveId(id) {
87
+ if (id === virtualModuleId) {
88
+ return resolvedVirtualModuleId;
89
+ }
90
+ },
91
+ load(id) {
92
+ if (id !== resolvedVirtualModuleId)
93
+ return;
94
+ const config = getConfig();
95
+ const cssParts = [];
96
+ // It's important that @import statements come first:
97
+ // > "@import must precede all other statements (besides @charset or empty @layer)"
98
+ if (config.theme?.fonts?.sans) {
99
+ cssParts.push(`@import url('${config.theme.fonts.sans.url}');`);
100
+ }
101
+ if (config.theme?.fonts?.mono) {
102
+ cssParts.push(`@import url('${config.theme.fonts.mono.url}');`);
103
+ }
104
+ if (config.theme?.light) {
105
+ cssParts.push(`:root:root { ${generateCss(config.theme.light)} }`);
106
+ }
107
+ if (config.theme?.dark) {
108
+ cssParts.push(`.dark.dark { ${generateCss(config.theme.dark)} }`);
109
+ }
110
+ return cssParts.join("\n");
111
+ },
112
+ };
113
+ };
114
+ //# sourceMappingURL=plugin-theme-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-theme-css.js","sourceRoot":"","sources":["../../src/vite/plugin-theme-css.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  import { type PluginOption } from "vite";
2
- import { type ZudokuPluginOptions } from "../config/config.js";
3
- import { type LoadedConfig } from "./config.js";
2
+ import { LoadedConfig, type ZudokuPluginOptions } from "../config/config.js";
4
3
  export default function vitePlugin(initialConfig: ZudokuPluginOptions, onConfigChange?: () => Promise<LoadedConfig>): PluginOption;
@@ -1,23 +1,26 @@
1
1
  import react from "@vitejs/plugin-react";
2
+ import { vitePluginSsrCss } from "./css/plugin.js";
2
3
  import viteApiKeysPlugin from "./plugin-api-keys.js";
3
4
  import viteApiPlugin from "./plugin-api.js";
4
5
  import viteAuthPlugin from "./plugin-auth.js";
5
6
  import viteAliasPlugin from "./plugin-component.js";
6
7
  import { createConfigReloadPlugin } from "./plugin-config-reload.js";
7
8
  import viteConfigPlugin from "./plugin-config.js";
8
- import viteCustomCss from "./plugin-custom-css.js";
9
9
  import viteCustomPagesPlugin from "./plugin-custom-pages.js";
10
10
  import viteDocsPlugin from "./plugin-docs.js";
11
11
  import { viteFrontmatterPlugin } from "./plugin-frontmatter.js";
12
- import { viteHtmlTransform } from "./plugin-html-transform.js";
13
12
  import viteMdxPlugin from "./plugin-mdx.js";
14
13
  import viteRedirectPlugin from "./plugin-redirect.js";
15
14
  import { viteSearchPlugin } from "./plugin-search.js";
16
15
  import { viteSidebarPlugin } from "./plugin-sidebar.js";
16
+ import { viteThemeCss } from "./plugin-theme-css.js";
17
17
  export default function vitePlugin(initialConfig, onConfigChange) {
18
18
  const [configReloadPlugin, getCurrentConfig] = createConfigReloadPlugin(initialConfig, onConfigChange);
19
19
  return [
20
20
  viteMdxPlugin(getCurrentConfig),
21
+ vitePluginSsrCss(getCurrentConfig, {
22
+ entries: ["zudoku/app/entry.server.tsx"],
23
+ }),
21
24
  react({ include: /\.(mdx?|jsx?|tsx?)$/ }),
22
25
  viteConfigPlugin(getCurrentConfig),
23
26
  viteApiKeysPlugin(getCurrentConfig),
@@ -30,8 +33,7 @@ export default function vitePlugin(initialConfig, onConfigChange) {
30
33
  viteSearchPlugin(getCurrentConfig),
31
34
  viteAliasPlugin(getCurrentConfig),
32
35
  viteRedirectPlugin(getCurrentConfig),
33
- viteCustomCss(getCurrentConfig),
34
- viteHtmlTransform(),
36
+ viteThemeCss(getCurrentConfig),
35
37
  configReloadPlugin,
36
38
  ];
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAIzC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,aAAkC,EAClC,cAA4C;IAE5C,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,wBAAwB,CACrE,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,gBAAgB,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACzC,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,eAAe,CAAC,gBAAgB,CAAC;QACjC,kBAAkB,CAAC,gBAAgB,CAAC;QACpC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,iBAAiB,EAAE;QACnB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,aAAkC,EAClC,cAA4C;IAE5C,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,wBAAwB,CACrE,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,EAAE;YACjC,OAAO,EAAE,CAAC,6BAA6B,CAAC;SACzC,CAAC;QACF,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACzC,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,eAAe,CAAC,gBAAgB,CAAC;QACjC,kBAAkB,CAAC,gBAAgB,CAAC;QACpC,YAAY,CAAC,gBAAgB,CAAC;QAC9B,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
@@ -14,8 +14,9 @@ export declare class FileWritingResponse {
14
14
  end(chunk?: string): Promise<void>;
15
15
  isSent(): Promise<void>;
16
16
  }
17
- export declare const prerender: ({ html, dir, base, }: {
17
+ export declare const prerender: ({ html, dir, basePath, serverConfigFilename, }: {
18
18
  html: string;
19
19
  dir: string;
20
- base?: string;
20
+ basePath?: string;
21
+ serverConfigFilename: string;
21
22
  }) => Promise<string[]>;
@@ -1,6 +1,7 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { joinPath } from "../lib/util/joinPath.js";
3
+ import { pathToFileURL } from "node:url";
4
+ import { joinUrl } from "../lib/util/joinUrl.js";
4
5
  import { generateSitemap } from "./sitemap.js";
5
6
  export class FileWritingResponse {
6
7
  fileName;
@@ -56,19 +57,20 @@ const routesToPaths = (routes) => {
56
57
  addPaths(routes);
57
58
  return paths;
58
59
  };
59
- export const prerender = async ({ html, dir, base = "", }) => {
60
+ export const prerender = async ({ html, dir, basePath = "", serverConfigFilename, }) => {
60
61
  // eslint-disable-next-line no-console
61
62
  console.log("Prerendering...");
62
- const distDir = path.join(dir, "dist", base);
63
- const config = await import(path.join(distDir, "server/zudoku.config.js")).then((m) => m.default);
64
- const module = await import(path.join(distDir, "server/entry.server.js"));
63
+ const distDir = path.join(dir, "dist", basePath);
64
+ const config = await import(pathToFileURL(path.join(distDir, "server", serverConfigFilename)).href).then((m) => m.default);
65
+ const module = await import(pathToFileURL(path.join(distDir, "server/entry.server.js")).href);
65
66
  const render = module.render;
66
67
  const getRoutes = module.getRoutesByConfig;
67
68
  const routes = getRoutes(config);
69
+ console.log("routes", routes);
68
70
  const paths = routesToPaths(routes);
69
71
  const writtenFiles = [];
70
72
  for (const urlPath of paths) {
71
- const req = new Request(new URL(joinPath(config.basePath, urlPath), "http://localhost").href);
73
+ const req = new Request(joinUrl("http://localhost", config.basePath, urlPath));
72
74
  const filename = urlPath === "/" ? "/index.html" : `${urlPath}.html`;
73
75
  const response = new FileWritingResponse(path.join(distDir, filename));
74
76
  await render({ template: html, request: req, response, config });
@@ -1 +1 @@
1
- {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Root } from "mdast";
2
+ import { VFile } from "vfile";
3
+ export declare const remarkStaticGeneration: () => (tree: Root, file: VFile) => Promise<void>;
@@ -0,0 +1,125 @@
1
+ import { valueToEstree } from "estree-util-value-to-estree";
2
+ import vm from "node:vm";
3
+ import { SKIP, visit } from "unist-util-visit";
4
+ const FUNCTION_NAME = "generateStaticData";
5
+ const VARIABLE_NAME = "STATIC_DATA";
6
+ const isStaticExport = (program) => {
7
+ for (const node of program.body) {
8
+ if (node.type === "ExportNamedDeclaration" && node.declaration) {
9
+ const decl = node.declaration;
10
+ if (decl.type === "VariableDeclaration") {
11
+ // Check variable declarations like: export const _static = () => { ... }
12
+ for (const declarator of decl.declarations) {
13
+ if (declarator.id.type === "Identifier" &&
14
+ declarator.id.name === FUNCTION_NAME &&
15
+ declarator.init?.type === "ArrowFunctionExpression") {
16
+ return true;
17
+ }
18
+ }
19
+ }
20
+ else if (decl.type === "FunctionDeclaration" &&
21
+ decl.id.name === FUNCTION_NAME) {
22
+ // Check function declarations like: export function _static() { ... }
23
+ return true;
24
+ }
25
+ }
26
+ }
27
+ return false;
28
+ };
29
+ const injectResult = (variableName, tree, result) => {
30
+ const estreeValue = valueToEstree(result, {
31
+ preserveReferences: true,
32
+ instanceAsObject: true,
33
+ });
34
+ tree.children.unshift({
35
+ type: "mdxjsEsm",
36
+ value: "",
37
+ data: {
38
+ estree: {
39
+ type: "Program",
40
+ body: [
41
+ {
42
+ type: "VariableDeclaration",
43
+ declarations: [
44
+ {
45
+ type: "VariableDeclarator",
46
+ id: { type: "Identifier", name: variableName },
47
+ init: estreeValue,
48
+ },
49
+ ],
50
+ kind: "const",
51
+ },
52
+ ],
53
+ sourceType: "module",
54
+ },
55
+ },
56
+ });
57
+ };
58
+ const executeFunction = async (file, code, importNodes) => {
59
+ const context = {
60
+ result: "",
61
+ process,
62
+ console,
63
+ };
64
+ code = code.replace(/^\s*export/, "");
65
+ for (const { source, specifiers } of importNodes) {
66
+ const modulePath = source.value;
67
+ if (typeof modulePath !== "string")
68
+ continue;
69
+ const module = await import(modulePath);
70
+ for (const specifier of specifiers) {
71
+ const localName = specifier.local.name;
72
+ switch (specifier.type) {
73
+ case "ImportSpecifier": {
74
+ if (specifier.imported.type !== "Identifier")
75
+ continue;
76
+ const importedName = specifier.imported.name;
77
+ context[localName] = module[importedName];
78
+ break;
79
+ }
80
+ case "ImportDefaultSpecifier":
81
+ context[localName] = module.default ?? module;
82
+ break;
83
+ case "ImportNamespaceSpecifier":
84
+ context[localName] = module;
85
+ break;
86
+ }
87
+ }
88
+ }
89
+ const script = new vm.Script(`
90
+ (async () => {
91
+ result = await (async () => { ${code}; return ${FUNCTION_NAME}(); })();
92
+ })();
93
+ `);
94
+ const prevCwd = process.cwd();
95
+ // Run VM relative to the file's directory
96
+ process.chdir(file.dirname ?? file.cwd);
97
+ await script.runInNewContext(context);
98
+ process.chdir(prevCwd);
99
+ return context.result;
100
+ };
101
+ export const remarkStaticGeneration = () => async (tree, file) => {
102
+ const imports = [];
103
+ const nodesToProcess = [];
104
+ visit(tree, "mdxjsEsm", (node) => {
105
+ const innerTree = node.data?.estree;
106
+ if (!innerTree)
107
+ return;
108
+ innerTree.body.forEach((node) => {
109
+ if (node.type !== "ImportDeclaration")
110
+ return;
111
+ imports.push(node);
112
+ });
113
+ if (isStaticExport(innerTree)) {
114
+ nodesToProcess.push(node);
115
+ return SKIP;
116
+ }
117
+ });
118
+ for (const node of nodesToProcess) {
119
+ const executed = await executeFunction(file, node.value, imports);
120
+ if (!executed)
121
+ continue;
122
+ injectResult(VARIABLE_NAME, tree, executed);
123
+ }
124
+ };
125
+ //# sourceMappingURL=remarkStaticGeneration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remarkStaticGeneration.js","sourceRoot":"","sources":["../../src/vite/remarkStaticGeneration.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ZudokuSiteMapConfig } from "../config/validators/validate.js";
1
+ import { ZudokuSiteMapConfig } from "../config/validators/common.js";
2
2
  export declare function generateSitemap({ outputUrls, basePath, baseOutputDir, config, }: {
3
3
  /**
4
4
  * The base path of the site (e.g. `/docs`).
@@ -0,0 +1,5 @@
1
+ import { RecordAny } from "../lib/util/traverse.js";
2
+ import { PoliciesConfigFile } from "./policy-types.js";
3
+ export declare const enrichWithZuploData: ({ policiesConfig, }: {
4
+ policiesConfig: PoliciesConfigFile;
5
+ }) => (spec: RecordAny) => RecordAny;
@@ -0,0 +1,184 @@
1
+ const API_KEY_REPLACEMENT_STRING = "YOUR_KEY_HERE";
2
+ const enrichWithApiKeyData = (operationObject, apiKeyPolicies) => {
3
+ if (apiKeyPolicies.length === 0) {
4
+ return operationObject;
5
+ }
6
+ const firstPolicy = apiKeyPolicies[0];
7
+ const authorizationHeader = firstPolicy?.handler.options?.["authHeader"] || "Authorization";
8
+ const authorizationScheme = (firstPolicy?.handler.options?.["authScheme"] ??
9
+ "Bearer");
10
+ const authSchemeExample = authorizationScheme !== ""
11
+ ? `${authorizationScheme} ${API_KEY_REPLACEMENT_STRING}`
12
+ : API_KEY_REPLACEMENT_STRING;
13
+ // Add API key header parameter
14
+ const apiKeyHeader = {
15
+ name: authorizationHeader,
16
+ in: "header",
17
+ required: true,
18
+ example: authSchemeExample,
19
+ schema: {
20
+ type: "string",
21
+ },
22
+ description: `The \`${authorizationHeader}\` header is used to authenticate with the API using your API key. Value is of the format \`${authSchemeExample}\`.`,
23
+ };
24
+ const parameters = operationObject.parameters || [];
25
+ if (!parameters.some((param) => param.name === authorizationHeader)) {
26
+ operationObject.parameters = [apiKeyHeader, ...parameters];
27
+ }
28
+ // Add security scheme and requirement
29
+ const apiSecuritySchemeId = "api_key";
30
+ const apiKeySecurityRequirement = { [apiSecuritySchemeId]: [] };
31
+ if (!operationObject.security) {
32
+ operationObject.security = [apiKeySecurityRequirement];
33
+ }
34
+ else if (!operationObject.security.some((req) => req[apiSecuritySchemeId])) {
35
+ operationObject.security = [
36
+ apiKeySecurityRequirement,
37
+ ...operationObject.security,
38
+ ];
39
+ }
40
+ return operationObject;
41
+ };
42
+ const enrichWithRateLimitData = (operationObject, rateLimitPolicies) => {
43
+ if (rateLimitPolicies.length === 0) {
44
+ return operationObject;
45
+ }
46
+ const shouldIncludeHeader = rateLimitPolicies.some((policy) => policy.handler.options?.headerMode !== "none");
47
+ if (!operationObject.responses) {
48
+ operationObject.responses = {};
49
+ }
50
+ if (!operationObject.responses["429"]) {
51
+ operationObject.responses["429"] = {
52
+ $ref: shouldIncludeHeader
53
+ ? "#/components/responses/RateLimitWithRetryAfter"
54
+ : "#/components/responses/RateLimitNoRetryAfter",
55
+ };
56
+ }
57
+ return operationObject;
58
+ };
59
+ // prettier-ignore
60
+ const operations = [
61
+ "get", "put", "post", "delete",
62
+ "options", "head", "patch", "trace",
63
+ ];
64
+ const rateLimitingResponse = {
65
+ description: "Rate Limiting Response",
66
+ content: {
67
+ "application/json": {
68
+ schema: {
69
+ type: "object",
70
+ required: ["type", "title", "status"],
71
+ examples: [
72
+ {
73
+ type: "https://httpproblems.com/http-status/429",
74
+ title: "Too Many Requests",
75
+ status: 429,
76
+ instance: "/foo/bar",
77
+ },
78
+ ],
79
+ properties: {
80
+ type: {
81
+ type: "string",
82
+ example: "https://httpproblems.com/http-status/429",
83
+ description: "A URI reference that identifies the problem.",
84
+ },
85
+ title: {
86
+ type: "string",
87
+ example: "Too Many Requests",
88
+ description: "A short, human-readable summary of the problem.",
89
+ },
90
+ status: {
91
+ type: "number",
92
+ example: 429,
93
+ description: "The HTTP status code.",
94
+ },
95
+ instance: {
96
+ type: "string",
97
+ example: "/foo/bar",
98
+ },
99
+ },
100
+ },
101
+ },
102
+ },
103
+ };
104
+ const rateLimitingResponseWithHeader = {
105
+ ...rateLimitingResponse,
106
+ headers: {
107
+ "retry-after": {
108
+ description: "The number of seconds to wait before making a new request.",
109
+ schema: {
110
+ type: "integer",
111
+ example: 60,
112
+ },
113
+ },
114
+ },
115
+ };
116
+ export const enrichWithZuploData = ({ policiesConfig, }) => {
117
+ return (spec) => {
118
+ if (!spec.paths)
119
+ return spec;
120
+ let hasRateLimitPolicies = false;
121
+ for (const [, pathItem] of Object.entries(spec.paths)) {
122
+ for (const method of operations) {
123
+ const operation = pathItem[method];
124
+ if (!operation?.["x-zuplo-route"])
125
+ continue;
126
+ const inboundPolicies = operation["x-zuplo-route"]?.policies?.inbound?.reduce((acc, policyName) => {
127
+ const policy = policiesConfig.policies?.find(({ name }) => name === policyName);
128
+ if (!policy)
129
+ return acc;
130
+ // Handle composite policies
131
+ if (policy.handler.export === "CompositeInboundPolicy") {
132
+ const childPolicies = policy.handler.options?.policies;
133
+ return childPolicies ? [...acc, ...childPolicies] : acc;
134
+ }
135
+ return [...acc, policyName];
136
+ }, []);
137
+ if (!inboundPolicies)
138
+ continue;
139
+ // Find API key policies
140
+ const apiKeyPolicies = policiesConfig.policies?.filter((policy) => inboundPolicies.includes(policy.name) &&
141
+ (policy.handler.export === "ApiAuthKeyInboundPolicy" ||
142
+ policy.handler.export === "ApiKeyInboundPolicy") &&
143
+ !policy.handler.options
144
+ ?.disableAutomaticallyAddingKeyHeaderToOpenApi) ?? [];
145
+ // Find rate limit policies
146
+ const rateLimitPolicies = policiesConfig.policies?.filter((policy) => inboundPolicies.includes(policy.name) &&
147
+ (policy.handler.export === "RateLimitInboundPolicy" ||
148
+ policy.handler.export === "ComplexRateLimitInboundPolicy")) ?? [];
149
+ if (rateLimitPolicies.length > 0) {
150
+ hasRateLimitPolicies = true;
151
+ }
152
+ // Apply enrichments directly to the operation
153
+ pathItem[method] = enrichWithApiKeyData(operation, apiKeyPolicies);
154
+ pathItem[method] = enrichWithRateLimitData(pathItem[method], rateLimitPolicies);
155
+ }
156
+ }
157
+ // Add security scheme if we have API key policies
158
+ if (policiesConfig.policies?.some((policy) => policy.handler.export === "ApiAuthKeyInboundPolicy" ||
159
+ policy.handler.export === "ApiKeyInboundPolicy")) {
160
+ if (!spec.components)
161
+ spec.components = {};
162
+ if (!spec.components.securitySchemes)
163
+ spec.components.securitySchemes = {};
164
+ if (!spec.components.securitySchemes.api_key) {
165
+ spec.components.securitySchemes.api_key = {
166
+ type: "http",
167
+ scheme: "bearer",
168
+ };
169
+ }
170
+ }
171
+ // Add rate limiting responses only if we found rate limiting policies
172
+ if (hasRateLimitPolicies) {
173
+ if (!spec.components)
174
+ spec.components = {};
175
+ if (!spec.components.responses)
176
+ spec.components.responses = {};
177
+ spec.components.responses.RateLimitNoRetryAfter = rateLimitingResponse;
178
+ spec.components.responses.RateLimitWithRetryAfter =
179
+ rateLimitingResponseWithHeader;
180
+ }
181
+ return spec;
182
+ };
183
+ };
184
+ //# sourceMappingURL=enrich-with-zuplo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-with-zuplo.js","sourceRoot":"","sources":["../../src/zuplo/enrich-with-zuplo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const ZuploEnv: {
2
+ /**
3
+ * Indicates that the build is running in Zuplo "mode"
4
+ */
5
+ readonly isZuplo: boolean;
6
+ readonly serverUrl: string | undefined;
7
+ };
@@ -0,0 +1,12 @@
1
+ export const ZuploEnv = {
2
+ /**
3
+ * Indicates that the build is running in Zuplo "mode"
4
+ */
5
+ get isZuplo() {
6
+ return process.env.ZUPLO === "1";
7
+ },
8
+ get serverUrl() {
9
+ return process.env.ZUPLO_SERVER_URL;
10
+ },
11
+ };
12
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/zuplo/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;CACF,CAAC"}