zudoku 0.0.0-f36627bd → 0.0.0-f370c714

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 (963) hide show
  1. package/README.md +1 -1
  2. package/client.d.ts +8 -0
  3. package/dist/app/entry.server.js +14 -1
  4. package/dist/app/entry.server.js.map +1 -1
  5. package/dist/app/main.d.ts +91 -1
  6. package/dist/app/main.js +5 -1
  7. package/dist/app/main.js.map +1 -1
  8. package/dist/app/sentry.js +1 -1
  9. package/dist/cli/cli.d.ts +9 -0
  10. package/dist/cli/cli.js +4 -10
  11. package/dist/cli/cli.js.map +1 -1
  12. package/dist/cli/common/version-check.d.ts +2 -0
  13. package/dist/cli/common/version-check.js +58 -0
  14. package/dist/cli/common/version-check.js.map +1 -0
  15. package/dist/config/config.d.ts +15 -41
  16. package/dist/config/validators/BuildSchema.d.ts +15 -7
  17. package/dist/config/validators/BuildSchema.js +34 -2
  18. package/dist/config/validators/BuildSchema.js.map +1 -1
  19. package/dist/config/validators/InputNavigationSchema.d.ts +169 -85
  20. package/dist/config/validators/InputNavigationSchema.js +1 -0
  21. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  22. package/dist/config/validators/NavigationSchema.js +2 -4
  23. package/dist/config/validators/NavigationSchema.js.map +1 -1
  24. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  25. package/dist/config/validators/icon-types.d.ts +1 -1
  26. package/dist/config/validators/icon-types.js +20 -0
  27. package/dist/config/validators/icon-types.js.map +1 -1
  28. package/dist/config/validators/validate.d.ts +278 -25
  29. package/dist/config/validators/validate.js +75 -10
  30. package/dist/config/validators/validate.js.map +1 -1
  31. package/dist/config/validators/validate.test.js +43 -0
  32. package/dist/config/validators/validate.test.js.map +1 -1
  33. package/dist/flat-config.d.ts +60 -5
  34. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  35. package/dist/lib/assets/language-icons/c.js +4 -0
  36. package/dist/lib/assets/language-icons/c.js.map +1 -0
  37. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  38. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  39. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  40. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  41. package/dist/lib/assets/language-icons/cpp.js +4 -0
  42. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  43. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  44. package/dist/lib/assets/language-icons/dart.js +4 -0
  45. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  46. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  47. package/dist/lib/assets/language-icons/elixir.js +4 -0
  48. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  49. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  50. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  51. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  52. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  53. package/dist/lib/assets/language-icons/powershell.js +4 -0
  54. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  55. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  56. package/dist/lib/assets/language-icons/scala.js +4 -0
  57. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  58. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  59. package/dist/lib/assets/language-icons/zig.js +4 -0
  60. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  61. package/dist/lib/auth/issuer.js +3 -0
  62. package/dist/lib/auth/issuer.js.map +1 -1
  63. package/dist/lib/authentication/authentication.d.ts +19 -10
  64. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  65. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  66. package/dist/lib/authentication/components/SignIn.js +8 -5
  67. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  68. package/dist/lib/authentication/components/SignOut.js +6 -6
  69. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  70. package/dist/lib/authentication/components/SignUp.js +7 -5
  71. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  72. package/dist/lib/authentication/hook.d.ts +5 -2
  73. package/dist/lib/authentication/hook.js +22 -8
  74. package/dist/lib/authentication/hook.js.map +1 -1
  75. package/dist/lib/authentication/providers/auth0.js +13 -4
  76. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  77. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  78. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  79. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  80. package/dist/lib/authentication/providers/clerk.js +2 -2
  81. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  82. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  83. package/dist/lib/authentication/providers/firebase.js +273 -0
  84. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  85. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  86. package/dist/lib/authentication/providers/openid.js +5 -3
  87. package/dist/lib/authentication/providers/openid.js.map +1 -1
  88. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  89. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  90. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  91. package/dist/lib/authentication/providers/supabase.js +30 -31
  92. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  93. package/dist/lib/authentication/state.d.ts +5 -7
  94. package/dist/lib/authentication/state.js +2 -14
  95. package/dist/lib/authentication/state.js.map +1 -1
  96. package/dist/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
  97. package/dist/lib/authentication/ui/EmailVerificationUi.js +34 -0
  98. package/dist/lib/authentication/ui/EmailVerificationUi.js.map +1 -0
  99. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +29 -0
  100. package/dist/lib/authentication/ui/ZudokuAuthUi.js +160 -0
  101. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  102. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  103. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  104. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  105. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  106. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  107. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  108. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  109. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  110. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  111. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  112. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  113. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  114. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  115. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  116. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  117. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  118. package/dist/lib/authentication/ui/icons/X.js +4 -0
  119. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  120. package/dist/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
  121. package/dist/lib/authentication/utils/relativeRedirectUrl.js +8 -0
  122. package/dist/lib/authentication/utils/relativeRedirectUrl.js.map +1 -0
  123. package/dist/lib/components/Autocomplete.d.ts +3 -1
  124. package/dist/lib/components/Autocomplete.js +6 -2
  125. package/dist/lib/components/Autocomplete.js.map +1 -1
  126. package/dist/lib/components/BuildCheck.js +2 -2
  127. package/dist/lib/components/BuildCheck.js.map +1 -1
  128. package/dist/lib/components/Heading.d.ts +1 -1
  129. package/dist/lib/components/Heading.js +1 -5
  130. package/dist/lib/components/Heading.js.map +1 -1
  131. package/dist/lib/components/LanguageIcon.js +45 -0
  132. package/dist/lib/components/LanguageIcon.js.map +1 -1
  133. package/dist/lib/components/Layout.js +3 -2
  134. package/dist/lib/components/Layout.js.map +1 -1
  135. package/dist/lib/components/Main.js +1 -1
  136. package/dist/lib/components/Main.js.map +1 -1
  137. package/dist/lib/components/Mermaid.d.ts +7 -0
  138. package/dist/lib/components/Mermaid.js +42 -0
  139. package/dist/lib/components/Mermaid.js.map +1 -0
  140. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  141. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  142. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  143. package/dist/lib/components/Zudoku.js +5 -8
  144. package/dist/lib/components/Zudoku.js.map +1 -1
  145. package/dist/lib/components/cache.d.ts +3 -1
  146. package/dist/lib/components/cache.js +3 -5
  147. package/dist/lib/components/cache.js.map +1 -1
  148. package/dist/lib/components/context/ZudokuContext.js +10 -2
  149. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  150. package/dist/lib/components/index.d.ts +5 -4
  151. package/dist/lib/components/navigation/NavigationItem.js +3 -3
  152. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  153. package/dist/lib/components/navigation/Toc.js +1 -1
  154. package/dist/lib/components/navigation/Toc.js.map +1 -1
  155. package/dist/lib/core/RouteGuard.d.ts +1 -1
  156. package/dist/lib/core/RouteGuard.js +13 -21
  157. package/dist/lib/core/RouteGuard.js.map +1 -1
  158. package/dist/lib/core/ZudokuContext.d.ts +1 -0
  159. package/dist/lib/core/ZudokuContext.js +2 -0
  160. package/dist/lib/core/ZudokuContext.js.map +1 -1
  161. package/dist/lib/core/__internal.d.ts +1 -1
  162. package/dist/lib/core/plugins.d.ts +3 -3
  163. package/dist/lib/errors/ErrorAlert.js +1 -1
  164. package/dist/lib/errors/ErrorMessage.d.ts +3 -0
  165. package/dist/lib/errors/ErrorMessage.js +16 -0
  166. package/dist/lib/errors/ErrorMessage.js.map +1 -0
  167. package/dist/lib/errors/RouterError.d.ts +3 -1
  168. package/dist/lib/errors/RouterError.js +3 -2
  169. package/dist/lib/errors/RouterError.js.map +1 -1
  170. package/dist/lib/hooks/index.d.ts +5 -3
  171. package/dist/lib/oas/graphql/index.js +24 -3
  172. package/dist/lib/oas/graphql/index.js.map +1 -1
  173. package/dist/lib/oas/parser/index.d.ts +1 -0
  174. package/dist/lib/oas/parser/index.js +7 -3
  175. package/dist/lib/oas/parser/index.js.map +1 -1
  176. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  177. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  178. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +9 -172
  179. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  180. package/dist/lib/plugins/api-keys/index.d.ts +4 -1
  181. package/dist/lib/plugins/api-keys/index.js +21 -17
  182. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  183. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
  184. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js +133 -0
  185. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js.map +1 -0
  186. package/dist/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
  187. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js +30 -0
  188. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js.map +1 -0
  189. package/dist/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
  190. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js +39 -0
  191. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js.map +1 -0
  192. package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
  193. package/dist/lib/plugins/markdown/MdxPage.js +28 -4
  194. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  195. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  196. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  197. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  198. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  199. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  200. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  201. package/dist/lib/plugins/markdown/index.d.ts +3 -1
  202. package/dist/lib/plugins/markdown/index.js +1 -1
  203. package/dist/lib/plugins/markdown/index.js.map +1 -1
  204. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  205. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  206. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  207. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  208. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  209. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  210. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  211. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  212. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  213. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  214. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  215. package/dist/lib/plugins/openapi/MCPEndpoint.js +9 -18
  216. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -1
  217. package/dist/lib/plugins/openapi/OasProvider.js +22 -13
  218. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  219. package/dist/lib/plugins/openapi/OperationList.js +22 -7
  220. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  221. package/dist/lib/plugins/openapi/OperationListItem.d.ts +3 -2
  222. package/dist/lib/plugins/openapi/OperationListItem.js +8 -4
  223. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  224. package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
  225. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  226. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  227. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  228. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  229. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  230. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +1 -3
  231. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  232. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  233. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  234. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  235. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  236. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  237. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  238. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  239. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  240. package/dist/lib/plugins/openapi/Sidecar.d.ts +3 -2
  241. package/dist/lib/plugins/openapi/Sidecar.js +68 -35
  242. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  243. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  244. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  245. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  246. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  247. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  248. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  249. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  250. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  251. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  252. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  253. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  254. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  255. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  256. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  257. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  258. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  259. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  260. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  261. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +8 -2
  262. package/dist/lib/plugins/openapi/graphql/graphql.js +8 -0
  263. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  264. package/dist/lib/plugins/openapi/index.js +16 -15
  265. package/dist/lib/plugins/openapi/index.js.map +1 -1
  266. package/dist/lib/plugins/openapi/interfaces.d.ts +30 -13
  267. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  268. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  269. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  270. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  271. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  272. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  273. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  274. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  275. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  276. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  277. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  278. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  279. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  280. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  281. package/dist/lib/plugins/openapi/playground/Playground.js +71 -29
  282. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  283. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +5 -2
  284. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  285. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  286. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  287. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  288. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  289. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  290. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +5 -3
  291. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  292. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  293. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  294. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  295. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  296. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  297. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  298. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  299. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  300. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  301. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  302. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  303. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  304. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  305. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +33 -19
  306. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  307. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  308. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  309. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +5 -3
  310. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  311. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  312. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  313. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  314. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  315. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  316. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  317. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  318. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  319. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  320. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  321. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  322. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  323. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  324. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  325. package/dist/lib/plugins/openapi/state.d.ts +5 -3
  326. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +24 -1
  327. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  328. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  329. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  330. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +6 -1
  331. package/dist/lib/plugins/openapi/util/getRoutes.js +29 -2
  332. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  333. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  334. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  335. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  336. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  337. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  338. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  339. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  340. package/dist/lib/shiki.d.ts +2 -2
  341. package/dist/lib/shiki.js +40 -14
  342. package/dist/lib/shiki.js.map +1 -1
  343. package/dist/lib/ui/Badge.d.ts +3 -3
  344. package/dist/lib/ui/Badge.js +9 -7
  345. package/dist/lib/ui/Badge.js.map +1 -1
  346. package/dist/lib/ui/Button.d.ts +2 -2
  347. package/dist/lib/ui/Button.js +10 -8
  348. package/dist/lib/ui/Button.js.map +1 -1
  349. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  350. package/dist/lib/ui/ButtonGroup.js +28 -0
  351. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  352. package/dist/lib/ui/Callout.d.ts +5 -5
  353. package/dist/lib/ui/Callout.js +5 -5
  354. package/dist/lib/ui/Callout.js.map +1 -1
  355. package/dist/lib/ui/Carousel.js.map +1 -1
  356. package/dist/lib/ui/Checkbox.d.ts +2 -2
  357. package/dist/lib/ui/Checkbox.js +4 -4
  358. package/dist/lib/ui/Checkbox.js.map +1 -1
  359. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  360. package/dist/lib/ui/CodeBlock.js +1 -1
  361. package/dist/lib/ui/CodeBlock.js.map +1 -1
  362. package/dist/lib/ui/Collapsible.d.ts +4 -4
  363. package/dist/lib/ui/Collapsible.js +11 -4
  364. package/dist/lib/ui/Collapsible.js.map +1 -1
  365. package/dist/lib/ui/Command.d.ts +3 -3
  366. package/dist/lib/ui/Command.js +2 -2
  367. package/dist/lib/ui/Command.js.map +1 -1
  368. package/dist/lib/ui/Dialog.d.ts +12 -18
  369. package/dist/lib/ui/Dialog.js +30 -17
  370. package/dist/lib/ui/Dialog.js.map +1 -1
  371. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  372. package/dist/lib/ui/DropdownMenu.js +47 -32
  373. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  374. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -2
  375. package/dist/lib/ui/EmbeddedCodeBlock.js +4 -3
  376. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  377. package/dist/lib/ui/Frame.d.ts +8 -0
  378. package/dist/lib/ui/Frame.js +22 -0
  379. package/dist/lib/ui/Frame.js.map +1 -0
  380. package/dist/lib/ui/Item.d.ts +23 -0
  381. package/dist/lib/ui/Item.js +67 -0
  382. package/dist/lib/ui/Item.js.map +1 -0
  383. package/dist/lib/ui/Kbd.d.ts +3 -0
  384. package/dist/lib/ui/Kbd.js +10 -0
  385. package/dist/lib/ui/Kbd.js.map +1 -0
  386. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  387. package/dist/lib/ui/NativeSelect.js +14 -0
  388. package/dist/lib/ui/NativeSelect.js.map +1 -0
  389. package/dist/lib/ui/ReactComponentDoc.d.ts +1 -1
  390. package/dist/lib/ui/ReactComponentDoc.js +2 -2
  391. package/dist/lib/ui/ReactComponentDoc.js.map +1 -1
  392. package/dist/lib/ui/Secret.d.ts +6 -0
  393. package/dist/lib/ui/Secret.js +7 -4
  394. package/dist/lib/ui/Secret.js.map +1 -1
  395. package/dist/lib/ui/Select.d.ts +13 -11
  396. package/dist/lib/ui/Select.js +34 -23
  397. package/dist/lib/ui/Select.js.map +1 -1
  398. package/dist/lib/ui/Separator.d.ts +4 -0
  399. package/dist/lib/ui/Separator.js +8 -0
  400. package/dist/lib/ui/Separator.js.map +1 -0
  401. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  402. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  403. package/dist/lib/ui/Tooltip.d.ts +7 -7
  404. package/dist/lib/ui/Tooltip.js +16 -10
  405. package/dist/lib/ui/Tooltip.js.map +1 -1
  406. package/dist/lib/util/MdxComponents.d.ts +3 -1
  407. package/dist/lib/util/MdxComponents.js +5 -2
  408. package/dist/lib/util/MdxComponents.js.map +1 -1
  409. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  410. package/dist/lib/util/createVariantComponent.js +5 -2
  411. package/dist/lib/util/createVariantComponent.js.map +1 -1
  412. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  413. package/dist/lib/util/flattenAllOf.js +88 -0
  414. package/dist/lib/util/flattenAllOf.js.map +1 -0
  415. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  416. package/dist/lib/util/flattenAllOf.test.js +587 -0
  417. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  418. package/dist/lib/util/pastellize.js +4 -4
  419. package/dist/lib/util/pastellize.js.map +1 -1
  420. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  421. package/dist/lib/util/readFrontmatter.js +12 -0
  422. package/dist/lib/util/readFrontmatter.js.map +1 -0
  423. package/dist/lib/util/syncZustandState.d.ts +5 -0
  424. package/dist/lib/util/syncZustandState.js +14 -0
  425. package/dist/lib/util/syncZustandState.js.map +1 -0
  426. package/dist/vite/api/SchemaManager.d.ts +8 -1
  427. package/dist/vite/api/SchemaManager.js +52 -21
  428. package/dist/vite/api/SchemaManager.js.map +1 -1
  429. package/dist/vite/api/SchemaManager.test.js +69 -2
  430. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  431. package/dist/vite/config.js +11 -1
  432. package/dist/vite/config.js.map +1 -1
  433. package/dist/vite/dev-server.js +25 -0
  434. package/dist/vite/dev-server.js.map +1 -1
  435. package/dist/vite/llms.d.ts +12 -0
  436. package/dist/vite/llms.js +66 -0
  437. package/dist/vite/llms.js.map +1 -0
  438. package/dist/vite/mdx/remark-last-modified.js +57 -3
  439. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  440. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  441. package/dist/vite/pagefind-dev-index.js +68 -0
  442. package/dist/vite/pagefind-dev-index.js.map +1 -0
  443. package/dist/vite/plugin-api-keys.js +4 -1
  444. package/dist/vite/plugin-api-keys.js.map +1 -1
  445. package/dist/vite/plugin-api.js +58 -19
  446. package/dist/vite/plugin-api.js.map +1 -1
  447. package/dist/vite/plugin-docs.d.ts +9 -0
  448. package/dist/vite/plugin-docs.js +68 -49
  449. package/dist/vite/plugin-docs.js.map +1 -1
  450. package/dist/vite/plugin-frontmatter.js +3 -5
  451. package/dist/vite/plugin-frontmatter.js.map +1 -1
  452. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  453. package/dist/vite/plugin-markdown-export.js +140 -0
  454. package/dist/vite/plugin-markdown-export.js.map +1 -0
  455. package/dist/vite/plugin-mdx.d.ts +1 -1
  456. package/dist/vite/plugin-mdx.js +39 -29
  457. package/dist/vite/plugin-mdx.js.map +1 -1
  458. package/dist/vite/plugin-navigation.js +4 -0
  459. package/dist/vite/plugin-navigation.js.map +1 -1
  460. package/dist/vite/plugin-theme.js +10 -1
  461. package/dist/vite/plugin-theme.js.map +1 -1
  462. package/dist/vite/plugin.js +2 -0
  463. package/dist/vite/plugin.js.map +1 -1
  464. package/dist/vite/prerender/prerender.js +38 -23
  465. package/dist/vite/prerender/prerender.js.map +1 -1
  466. package/dist/vite/prerender/utils.d.ts +2 -0
  467. package/dist/vite/prerender/utils.js +24 -0
  468. package/dist/vite/prerender/utils.js.map +1 -0
  469. package/dist/vite/prerender/worker.js +3 -0
  470. package/dist/vite/prerender/worker.js.map +1 -1
  471. package/dist/vite/zuplo.d.ts +13 -0
  472. package/dist/vite/zuplo.js +15 -0
  473. package/dist/vite/zuplo.js.map +1 -0
  474. package/lib/ActionButton-BSM2oNHF.js +25 -0
  475. package/lib/ActionButton-BSM2oNHF.js.map +1 -0
  476. package/lib/Button-IOAeVaIH.js +54 -0
  477. package/lib/Button-IOAeVaIH.js.map +1 -0
  478. package/lib/{Card-hTy9PAnh.js → Card-KFniaZn5.js} +2 -2
  479. package/lib/{Card-hTy9PAnh.js.map → Card-KFniaZn5.js.map} +1 -1
  480. package/lib/{CategoryHeading-BGCNu3VK.js → CategoryHeading-DhmodDcq.js} +2 -2
  481. package/lib/{CategoryHeading-BGCNu3VK.js.map → CategoryHeading-DhmodDcq.js.map} +1 -1
  482. package/lib/ClaudeLogo-DgjivS8A.js +69 -0
  483. package/lib/ClaudeLogo-DgjivS8A.js.map +1 -0
  484. package/lib/{Command-TEBTONf1.js → Command-BpT1iBE6.js} +26 -26
  485. package/lib/Command-BpT1iBE6.js.map +1 -0
  486. package/lib/Dialog-BQciPiHN.js +144 -0
  487. package/lib/Dialog-BQciPiHN.js.map +1 -0
  488. package/lib/{Drawer-DM9wJUC6.js → Drawer-BRMcpfuF.js} +7 -7
  489. package/lib/Drawer-BRMcpfuF.js.map +1 -0
  490. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  491. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  492. package/lib/Frame-DxlznfVd.js +205 -0
  493. package/lib/Frame-DxlznfVd.js.map +1 -0
  494. package/lib/IndexingDialog-DZWj_3cU.js +100 -0
  495. package/lib/IndexingDialog-DZWj_3cU.js.map +1 -0
  496. package/lib/Input-D-kqEQ5M.js +115 -0
  497. package/lib/Input-D-kqEQ5M.js.map +1 -0
  498. package/lib/MdxPage-BL-HbZrv.js +210 -0
  499. package/lib/MdxPage-BL-HbZrv.js.map +1 -0
  500. package/lib/Mermaid-BjSczjLW.js +102 -0
  501. package/lib/Mermaid-BjSczjLW.js.map +1 -0
  502. package/lib/{OAuthErrorPage-BbI9XJWR.js → OAuthErrorPage-DQtg28Go.js} +22 -23
  503. package/lib/{OAuthErrorPage-BbI9XJWR.js.map → OAuthErrorPage-DQtg28Go.js.map} +1 -1
  504. package/lib/OasProvider--qcZwrKS.js +40 -0
  505. package/lib/OasProvider--qcZwrKS.js.map +1 -0
  506. package/lib/OperationList-CSJYzxQY.js +5819 -0
  507. package/lib/OperationList-CSJYzxQY.js.map +1 -0
  508. package/lib/RouteGuard-D0f743SM.js +77 -0
  509. package/lib/RouteGuard-D0f743SM.js.map +1 -0
  510. package/lib/{SchemaList-BcJyi2sR.js → SchemaList-DtyuDrQA.js} +30 -29
  511. package/lib/SchemaList-DtyuDrQA.js.map +1 -0
  512. package/lib/SchemaView-G-SVXxAG.js +435 -0
  513. package/lib/SchemaView-G-SVXxAG.js.map +1 -0
  514. package/lib/Secret-BxGpIhDP.js +243 -0
  515. package/lib/Secret-BxGpIhDP.js.map +1 -0
  516. package/lib/Separator-CTPSeW1S.js +27 -0
  517. package/lib/Separator-CTPSeW1S.js.map +1 -0
  518. package/lib/SignUp-CDl7bQj3.js +50 -0
  519. package/lib/SignUp-CDl7bQj3.js.map +1 -0
  520. package/lib/{Spinner-Cf6E803I.js → Spinner-CI6bRyZw.js} +2 -2
  521. package/lib/{Spinner-Cf6E803I.js.map → Spinner-CI6bRyZw.js.map} +1 -1
  522. package/lib/{SyntaxHighlight-Cqh6cwC3.js → SyntaxHighlight-Dgd0AaaX.js} +1585 -1492
  523. package/lib/SyntaxHighlight-Dgd0AaaX.js.map +1 -0
  524. package/lib/{Toc-Zzozy3eB.js → Toc-D_Rj4jVx.js} +6 -6
  525. package/lib/Toc-D_Rj4jVx.js.map +1 -0
  526. package/lib/ZudokuContext-DNHMZfcP.js +1508 -0
  527. package/lib/ZudokuContext-DNHMZfcP.js.map +1 -0
  528. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  529. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  530. package/lib/c-B-NUhs61.js +46 -0
  531. package/lib/c-B-NUhs61.js.map +1 -0
  532. package/lib/chunk-PVWAREVJ-ClM0m2aJ.js +7965 -0
  533. package/lib/chunk-PVWAREVJ-ClM0m2aJ.js.map +1 -0
  534. package/lib/{circular-CokAagii.js → circular-BxODTa7z.js} +6365 -5958
  535. package/lib/circular-BxODTa7z.js.map +1 -0
  536. package/lib/commonlisp-De080z23.js +28 -0
  537. package/lib/commonlisp-De080z23.js.map +1 -0
  538. package/lib/cpp-79Paht7T.js +53 -0
  539. package/lib/cpp-79Paht7T.js.map +1 -0
  540. package/lib/createServer-BpreIXp6.js +16693 -0
  541. package/lib/createServer-BpreIXp6.js.map +1 -0
  542. package/lib/createVariantComponent-CQVt-H3r.js +18 -0
  543. package/lib/createVariantComponent-CQVt-H3r.js.map +1 -0
  544. package/lib/{csharp-rrJEDRrV.js → csharp-D8MIL50B.js} +2 -2
  545. package/lib/{csharp-rrJEDRrV.js.map → csharp-D8MIL50B.js.map} +1 -1
  546. package/lib/{css-Dpk9bCql.js → css-Bt6hr1td.js} +2 -2
  547. package/lib/{css-Dpk9bCql.js.map → css-Bt6hr1td.js.map} +1 -1
  548. package/lib/dart-B0vy1jWB.js +60 -0
  549. package/lib/dart-B0vy1jWB.js.map +1 -0
  550. package/lib/elixir-Ds8r0sF8.js +25 -0
  551. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  552. package/lib/{errors-CQLQ5016.js → errors-DliW1dED.js} +4 -4
  553. package/lib/{errors-CQLQ5016.js.map → errors-DliW1dED.js.map} +1 -1
  554. package/lib/firebase-D4tbaCYB.js +7612 -0
  555. package/lib/firebase-D4tbaCYB.js.map +1 -0
  556. package/lib/{go-D8SJIQ0Z.js → go-D2VsmIOS.js} +2 -2
  557. package/lib/{go-D8SJIQ0Z.js.map → go-D2VsmIOS.js.map} +1 -1
  558. package/lib/{graphql-aeVKJNa2.js → graphql-BtA6M4m5.js} +2 -2
  559. package/lib/{graphql-aeVKJNa2.js.map → graphql-BtA6M4m5.js.map} +1 -1
  560. package/lib/hook-CHw_R_xu.js +52 -0
  561. package/lib/hook-CHw_R_xu.js.map +1 -0
  562. package/lib/{html-D_7om-nA.js → html-MGnI2uzP.js} +2 -2
  563. package/lib/{html-D_7om-nA.js.map → html-MGnI2uzP.js.map} +1 -1
  564. package/lib/{index-CF3Ls1wd.js → index-1TbL0HXQ.js} +166 -50
  565. package/lib/index-1TbL0HXQ.js.map +1 -0
  566. package/lib/index-9MxNUgg4.js +3675 -0
  567. package/lib/index-9MxNUgg4.js.map +1 -0
  568. package/lib/{ErrorAlert-Diu_w5Po.js → index-CboxZOVW.js} +5432 -4439
  569. package/lib/index-CboxZOVW.js.map +1 -0
  570. package/lib/index-CrcNWbel.js.map +1 -1
  571. package/lib/index-DXXZDuSJ.js +133 -0
  572. package/lib/index-DXXZDuSJ.js.map +1 -0
  573. package/lib/index.esm-BYObtETB.js +1294 -0
  574. package/lib/index.esm-BYObtETB.js.map +1 -0
  575. package/lib/{index.esm-BnYHxCYC.js → index.esm-DtzT_KoE.js} +20 -20
  576. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-DtzT_KoE.js.map} +1 -1
  577. package/lib/index.esm-ti5zvZS_.js +34 -0
  578. package/lib/index.esm-ti5zvZS_.js.map +1 -0
  579. package/lib/{invariant-Bm-FVUQE.js → invariant-CGOLuIIz.js} +3 -3
  580. package/lib/{invariant-Bm-FVUQE.js.map → invariant-CGOLuIIz.js.map} +1 -1
  581. package/lib/{java-DUh-EL8n.js → java-CVLzHfb1.js} +2 -2
  582. package/lib/{java-DUh-EL8n.js.map → java-CVLzHfb1.js.map} +1 -1
  583. package/lib/{javascript-CrY8dcGu.js → javascript-CcmIpL4G.js} +2 -2
  584. package/lib/{javascript-CrY8dcGu.js.map → javascript-CcmIpL4G.js.map} +1 -1
  585. package/lib/{json-DLK2_sdf.js → json-4AyP4uiY.js} +2 -2
  586. package/lib/{json-DLK2_sdf.js.map → json-4AyP4uiY.js.map} +1 -1
  587. package/lib/{jsx-runtime-DywqP_6a.js → jsx-runtime-BzflLqGi.js} +109 -111
  588. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  589. package/lib/{kotlin-rJMOGl7D.js → kotlin-v2plddBQ.js} +2 -2
  590. package/lib/{kotlin-rJMOGl7D.js.map → kotlin-v2plddBQ.js.map} +1 -1
  591. package/lib/{markdown-BD9bIU5J.js → markdown-DYGWCmGQ.js} +2 -2
  592. package/lib/{markdown-BD9bIU5J.js.map → markdown-DYGWCmGQ.js.map} +1 -1
  593. package/lib/{mdx-G25UCvf3.js → mdx-CHwYvXd4.js} +2 -2
  594. package/lib/{mdx-G25UCvf3.js.map → mdx-CHwYvXd4.js.map} +1 -1
  595. package/lib/{mutation-DvBlWyBr.js → mutation-DMHWqmFp.js} +2 -2
  596. package/lib/{mutation-DvBlWyBr.js.map → mutation-DMHWqmFp.js.map} +1 -1
  597. package/lib/{objectivec-DDpj0aWX.js → objectivec-HZY8shkd.js} +2 -2
  598. package/lib/{objectivec-DDpj0aWX.js.map → objectivec-HZY8shkd.js.map} +1 -1
  599. package/lib/ocaml-DqsdDdwb.js +52 -0
  600. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  601. package/lib/{php-BeG18bSy.js → php-rQXzo7K_.js} +2 -2
  602. package/lib/{php-BeG18bSy.js.map → php-rQXzo7K_.js.map} +1 -1
  603. package/lib/powershell-CQje9pm1.js +39 -0
  604. package/lib/powershell-CQje9pm1.js.map +1 -0
  605. package/lib/{python-BaF2byD-.js → python-QIQAE5Ei.js} +2 -2
  606. package/lib/{python-BaF2byD-.js.map → python-QIQAE5Ei.js.map} +1 -1
  607. package/lib/{react-CQvDN20M.js → react-DHpVpxRv.js} +2 -2
  608. package/lib/{react-CQvDN20M.js.map → react-DHpVpxRv.js.map} +1 -1
  609. package/lib/{ruby-CmxRVHMR.js → ruby-B2dU8Ny5.js} +2 -2
  610. package/lib/{ruby-CmxRVHMR.js.map → ruby-B2dU8Ny5.js.map} +1 -1
  611. package/lib/{rust-IfSC62c5.js → rust-DYnLHAi2.js} +2 -2
  612. package/lib/{rust-IfSC62c5.js.map → rust-DYnLHAi2.js.map} +1 -1
  613. package/lib/scala-CeKInBR8.js +25 -0
  614. package/lib/scala-CeKInBR8.js.map +1 -0
  615. package/lib/{shell-BFu0M6m4.js → shell-HUv9oVtp.js} +2 -2
  616. package/lib/{shell-BFu0M6m4.js.map → shell-HUv9oVtp.js.map} +1 -1
  617. package/lib/{swift-DckbsN4v.js → swift-B4z6ig1Z.js} +2 -2
  618. package/lib/{swift-DckbsN4v.js.map → swift-B4z6ig1Z.js.map} +1 -1
  619. package/lib/{toml-BJsCc8TC.js → toml-Co9mpdct.js} +2 -2
  620. package/lib/{toml-BJsCc8TC.js.map → toml-Co9mpdct.js.map} +1 -1
  621. package/lib/{typescript-7qOVMjOC.js → typescript-C26xdBDC.js} +2 -2
  622. package/lib/{typescript-7qOVMjOC.js.map → typescript-C26xdBDC.js.map} +1 -1
  623. package/lib/ui/Accordion.js +1 -1
  624. package/lib/ui/ActionButton.js +3 -3
  625. package/lib/ui/Alert.js +1 -1
  626. package/lib/ui/AlertDialog.js +1 -1
  627. package/lib/ui/Badge.js +28 -14
  628. package/lib/ui/Badge.js.map +1 -1
  629. package/lib/ui/Breadcrumb.js +1 -1
  630. package/lib/ui/Button.js +28 -25
  631. package/lib/ui/Button.js.map +1 -1
  632. package/lib/ui/ButtonGroup.js +77 -0
  633. package/lib/ui/ButtonGroup.js.map +1 -0
  634. package/lib/ui/Callout.js +19 -19
  635. package/lib/ui/Callout.js.map +1 -1
  636. package/lib/ui/Card.js +1 -1
  637. package/lib/ui/Carousel.js +1 -1
  638. package/lib/ui/Carousel.js.map +1 -1
  639. package/lib/ui/Checkbox.js +29 -26
  640. package/lib/ui/Checkbox.js.map +1 -1
  641. package/lib/ui/CodeBlock.js +217 -7
  642. package/lib/ui/CodeBlock.js.map +1 -1
  643. package/lib/ui/Collapsible.js +32 -5
  644. package/lib/ui/Collapsible.js.map +1 -1
  645. package/lib/ui/Command.js +5 -5
  646. package/lib/ui/Command.js.map +1 -1
  647. package/lib/ui/Dialog.js +135 -105
  648. package/lib/ui/Dialog.js.map +1 -1
  649. package/lib/ui/Drawer.js +3 -3
  650. package/lib/ui/DropdownMenu.js +227 -140
  651. package/lib/ui/DropdownMenu.js.map +1 -1
  652. package/lib/ui/EmbeddedCodeBlock.js +36 -32
  653. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  654. package/lib/ui/Form.js +2 -2
  655. package/lib/ui/Frame.js +81 -0
  656. package/lib/ui/Frame.js.map +1 -0
  657. package/lib/ui/HoverCard.js +1 -1
  658. package/lib/ui/Input.js +1 -1
  659. package/lib/ui/Item.js +188 -0
  660. package/lib/ui/Item.js.map +1 -0
  661. package/lib/ui/Kbd.js +32 -0
  662. package/lib/ui/Kbd.js.map +1 -0
  663. package/lib/ui/Label.js +1 -1
  664. package/lib/ui/NativeSelect.js +57 -0
  665. package/lib/ui/NativeSelect.js.map +1 -0
  666. package/lib/ui/Pagination.js +1 -1
  667. package/lib/ui/Popover.js +1 -1
  668. package/lib/ui/Progress.js +1 -1
  669. package/lib/ui/RadioGroup.js +1 -1
  670. package/lib/ui/ReactComponentDoc.js +14 -14
  671. package/lib/ui/ReactComponentDoc.js.map +1 -1
  672. package/lib/ui/ScrollArea.js +1 -1
  673. package/lib/ui/Secret.js +64 -54
  674. package/lib/ui/Secret.js.map +1 -1
  675. package/lib/ui/Select.js +166 -116
  676. package/lib/ui/Select.js.map +1 -1
  677. package/lib/ui/Separator.js +27 -0
  678. package/lib/ui/Separator.js.map +1 -0
  679. package/lib/ui/Skeleton.js +1 -1
  680. package/lib/ui/Slider.js +1 -1
  681. package/lib/ui/Stepper.js +1 -1
  682. package/lib/ui/Switch.js +1 -1
  683. package/lib/ui/SyntaxHighlight.js +5 -5
  684. package/lib/ui/Tabs.js +11 -11
  685. package/lib/ui/Textarea.js +1 -1
  686. package/lib/ui/Toggle.js +1 -1
  687. package/lib/ui/ToggleGroup.js +1 -1
  688. package/lib/ui/Tooltip.js +55 -28
  689. package/lib/ui/Tooltip.js.map +1 -1
  690. package/lib/ui/Value.js +1 -1
  691. package/lib/{xml-DAaTIkBX.js → xml-BQOOC04j.js} +2 -2
  692. package/lib/{xml-DAaTIkBX.js.map → xml-BQOOC04j.js.map} +1 -1
  693. package/lib/{yaml-DUi-dbfu.js → yaml-BGsJItKv.js} +2 -2
  694. package/lib/{yaml-DUi-dbfu.js.map → yaml-BGsJItKv.js.map} +1 -1
  695. package/lib/zig-CUV2sTct.js +35 -0
  696. package/lib/zig-CUV2sTct.js.map +1 -0
  697. package/lib/zudoku.__internal.js +1082 -951
  698. package/lib/zudoku.__internal.js.map +1 -1
  699. package/lib/zudoku.auth-auth0.js +24 -23
  700. package/lib/zudoku.auth-auth0.js.map +1 -1
  701. package/lib/zudoku.auth-azureb2c.js +34 -35
  702. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  703. package/lib/zudoku.auth-clerk.js +41 -41
  704. package/lib/zudoku.auth-clerk.js.map +1 -1
  705. package/lib/zudoku.auth-firebase.js +10 -0
  706. package/lib/zudoku.auth-firebase.js.map +1 -0
  707. package/lib/zudoku.auth-openid.js +105 -109
  708. package/lib/zudoku.auth-openid.js.map +1 -1
  709. package/lib/zudoku.auth-supabase.js +108 -52
  710. package/lib/zudoku.auth-supabase.js.map +1 -1
  711. package/lib/zudoku.components.js +22 -23
  712. package/lib/zudoku.components.js.map +1 -1
  713. package/lib/zudoku.hooks.js +11 -24
  714. package/lib/zudoku.hooks.js.map +1 -1
  715. package/lib/zudoku.icons.js +1 -1
  716. package/lib/zudoku.mermaid.js +10 -0
  717. package/lib/zudoku.mermaid.js.map +1 -0
  718. package/lib/zudoku.plugin-api-catalog.js +31 -33
  719. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  720. package/lib/zudoku.plugin-api-keys.js +573 -615
  721. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  722. package/lib/zudoku.plugin-custom-pages.js +1 -1
  723. package/lib/zudoku.plugin-markdown.js +10 -9
  724. package/lib/zudoku.plugin-markdown.js.map +1 -1
  725. package/lib/zudoku.plugin-openapi.js +7 -8
  726. package/lib/zudoku.plugin-openapi.js.map +1 -1
  727. package/lib/zudoku.plugin-redirect.js +3 -3
  728. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  729. package/lib/zudoku.plugin-search-pagefind.js +185 -228
  730. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  731. package/lib/zudoku.plugins.js.map +1 -1
  732. package/lib/zudoku.router.js +2502 -118
  733. package/lib/zudoku.router.js.map +1 -1
  734. package/package.json +94 -66
  735. package/src/app/entry.server.tsx +16 -6
  736. package/src/app/main.css +61 -9
  737. package/src/app/main.tsx +5 -1
  738. package/src/app/sentry.ts +1 -1
  739. package/src/lib/assets/language-icons/c.tsx +31 -0
  740. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  741. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  742. package/src/lib/assets/language-icons/dart.tsx +39 -0
  743. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  744. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  745. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  746. package/src/lib/assets/language-icons/scala.tsx +19 -0
  747. package/src/lib/assets/language-icons/zig.tsx +32 -0
  748. package/src/lib/auth/issuer.ts +3 -0
  749. package/src/lib/authentication/authentication.ts +29 -5
  750. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  751. package/src/lib/authentication/components/SignIn.tsx +10 -5
  752. package/src/lib/authentication/components/SignOut.tsx +7 -6
  753. package/src/lib/authentication/components/SignUp.tsx +8 -8
  754. package/src/lib/authentication/hook.ts +37 -10
  755. package/src/lib/authentication/providers/auth0.tsx +14 -4
  756. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  757. package/src/lib/authentication/providers/clerk.tsx +9 -2
  758. package/src/lib/authentication/providers/firebase.tsx +376 -0
  759. package/src/lib/authentication/providers/openid.tsx +20 -15
  760. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  761. package/src/lib/authentication/providers/supabase.tsx +55 -44
  762. package/src/lib/authentication/state.ts +3 -23
  763. package/src/lib/authentication/ui/EmailVerificationUi.tsx +129 -0
  764. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +477 -0
  765. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  766. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  767. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  768. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  769. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  770. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  771. package/src/lib/authentication/utils/relativeRedirectUrl.ts +12 -0
  772. package/src/lib/components/Autocomplete.tsx +11 -2
  773. package/src/lib/components/BuildCheck.tsx +12 -10
  774. package/src/lib/components/Heading.tsx +2 -6
  775. package/src/lib/components/LanguageIcon.tsx +45 -0
  776. package/src/lib/components/Layout.tsx +3 -2
  777. package/src/lib/components/Main.tsx +1 -1
  778. package/src/lib/components/Mermaid.tsx +68 -0
  779. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  780. package/src/lib/components/Zudoku.tsx +7 -10
  781. package/src/lib/components/cache.ts +9 -5
  782. package/src/lib/components/context/ZudokuContext.ts +11 -2
  783. package/src/lib/components/navigation/NavigationItem.tsx +8 -21
  784. package/src/lib/components/navigation/Toc.tsx +3 -3
  785. package/src/lib/core/RouteGuard.tsx +42 -22
  786. package/src/lib/core/ZudokuContext.ts +3 -0
  787. package/src/lib/core/plugins.ts +2 -2
  788. package/src/lib/errors/ErrorAlert.tsx +1 -1
  789. package/src/lib/errors/ErrorMessage.tsx +38 -0
  790. package/src/lib/errors/RouterError.tsx +7 -2
  791. package/src/lib/oas/graphql/index.ts +26 -3
  792. package/src/lib/oas/parser/index.ts +10 -3
  793. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  794. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +36 -476
  795. package/src/lib/plugins/api-keys/index.tsx +35 -21
  796. package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
  797. package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +64 -0
  798. package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +124 -0
  799. package/src/lib/plugins/markdown/MdxPage.tsx +125 -8
  800. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  801. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  802. package/src/lib/plugins/markdown/index.tsx +5 -7
  803. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  804. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  805. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  806. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  807. package/src/lib/plugins/openapi/MCPEndpoint.tsx +8 -28
  808. package/src/lib/plugins/openapi/OasProvider.tsx +30 -17
  809. package/src/lib/plugins/openapi/OperationList.tsx +60 -24
  810. package/src/lib/plugins/openapi/OperationListItem.tsx +25 -17
  811. package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
  812. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  813. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  814. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +0 -7
  815. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  816. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  817. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  818. package/src/lib/plugins/openapi/Sidecar.tsx +155 -74
  819. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  820. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  821. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  822. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  823. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  824. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  825. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +1 -0
  826. package/src/lib/plugins/openapi/graphql/gql.ts +4 -3
  827. package/src/lib/plugins/openapi/graphql/graphql.ts +20 -3
  828. package/src/lib/plugins/openapi/index.tsx +26 -37
  829. package/src/lib/plugins/openapi/interfaces.ts +29 -7
  830. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  831. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  832. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  833. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  834. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  835. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  836. package/src/lib/plugins/openapi/playground/Playground.tsx +89 -36
  837. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +22 -32
  838. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  839. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  840. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  841. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  842. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  843. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  844. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  845. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +124 -56
  846. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  847. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  848. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  849. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  850. package/src/lib/plugins/openapi/schema/SchemaView.tsx +100 -60
  851. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  852. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  853. package/src/lib/plugins/openapi/schema/utils.ts +5 -2
  854. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +29 -1
  855. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  856. package/src/lib/plugins/openapi/util/getRoutes.tsx +35 -3
  857. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  858. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  859. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  860. package/src/lib/shiki.ts +46 -14
  861. package/src/lib/ui/Badge.tsx +21 -12
  862. package/src/lib/ui/Button.tsx +11 -9
  863. package/src/lib/ui/ButtonGroup.tsx +82 -0
  864. package/src/lib/ui/Callout.tsx +10 -5
  865. package/src/lib/ui/Carousel.tsx +0 -1
  866. package/src/lib/ui/Checkbox.tsx +23 -24
  867. package/src/lib/ui/CodeBlock.tsx +3 -4
  868. package/src/lib/ui/Collapsible.tsx +26 -4
  869. package/src/lib/ui/Command.tsx +3 -3
  870. package/src/lib/ui/Dialog.tsx +112 -106
  871. package/src/lib/ui/DropdownMenu.tsx +226 -170
  872. package/src/lib/ui/EmbeddedCodeBlock.tsx +24 -19
  873. package/src/lib/ui/Frame.tsx +81 -0
  874. package/src/lib/ui/Item.tsx +192 -0
  875. package/src/lib/ui/Kbd.tsx +28 -0
  876. package/src/lib/ui/NativeSelect.tsx +47 -0
  877. package/src/lib/ui/ReactComponentDoc.tsx +17 -17
  878. package/src/lib/ui/Secret.tsx +44 -27
  879. package/src/lib/ui/Select.tsx +153 -126
  880. package/src/lib/ui/Separator.tsx +25 -0
  881. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  882. package/src/lib/ui/Tooltip.tsx +54 -32
  883. package/src/lib/util/MdxComponents.tsx +5 -5
  884. package/src/lib/util/createVariantComponent.tsx +31 -5
  885. package/src/lib/util/flattenAllOf.test.ts +689 -0
  886. package/src/lib/util/flattenAllOf.ts +122 -0
  887. package/src/lib/util/pastellize.ts +4 -4
  888. package/src/lib/util/readFrontmatter.ts +13 -0
  889. package/src/lib/util/syncZustandState.ts +22 -0
  890. package/src/shiki/langs/hurl.js +1 -0
  891. package/src/shiki/langs/kdl.js +1 -0
  892. package/src/shiki/langs/markdown-nix.js +1 -0
  893. package/src/shiki/langs/openscad.js +1 -0
  894. package/src/shiki/langs/pkl.js +1 -0
  895. package/src/shiki/langs/rosmsg.js +1 -0
  896. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  897. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  898. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  899. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  900. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  901. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  902. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  903. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  904. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  905. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  906. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  907. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  908. package/dist/vite/create-pagefind-index.d.ts +0 -4
  909. package/dist/vite/create-pagefind-index.js +0 -12
  910. package/dist/vite/create-pagefind-index.js.map +0 -1
  911. package/lib/Button-DTDRi4CT.js +0 -51
  912. package/lib/Button-DTDRi4CT.js.map +0 -1
  913. package/lib/CodeBlock-i0BM_QFf.js +0 -176
  914. package/lib/CodeBlock-i0BM_QFf.js.map +0 -1
  915. package/lib/Command-TEBTONf1.js.map +0 -1
  916. package/lib/Dialog-VIMic7xI.js +0 -114
  917. package/lib/Dialog-VIMic7xI.js.map +0 -1
  918. package/lib/Drawer-DM9wJUC6.js.map +0 -1
  919. package/lib/ErrorAlert-Diu_w5Po.js.map +0 -1
  920. package/lib/MdxPage-CDs_vtjC.js +0 -111
  921. package/lib/MdxPage-CDs_vtjC.js.map +0 -1
  922. package/lib/OasProvider-D3Cjaaxr.js +0 -36
  923. package/lib/OasProvider-D3Cjaaxr.js.map +0 -1
  924. package/lib/OperationList-BH4cFU-0.js +0 -5454
  925. package/lib/OperationList-BH4cFU-0.js.map +0 -1
  926. package/lib/Pagination-BKphudjx.js +0 -37
  927. package/lib/Pagination-BKphudjx.js.map +0 -1
  928. package/lib/RouteGuard-nFlgfJqk.js +0 -56
  929. package/lib/RouteGuard-nFlgfJqk.js.map +0 -1
  930. package/lib/RouterError-CnS5hYUh.js +0 -41
  931. package/lib/RouterError-CnS5hYUh.js.map +0 -1
  932. package/lib/SchemaList-BcJyi2sR.js.map +0 -1
  933. package/lib/SchemaView-DnTxmN15.js +0 -458
  934. package/lib/SchemaView-DnTxmN15.js.map +0 -1
  935. package/lib/Select-BPQp7Yqx.js +0 -273
  936. package/lib/Select-BPQp7Yqx.js.map +0 -1
  937. package/lib/SignUp-tBtnwuXL.js +0 -56
  938. package/lib/SignUp-tBtnwuXL.js.map +0 -1
  939. package/lib/SyntaxHighlight-Cqh6cwC3.js.map +0 -1
  940. package/lib/Toc-Zzozy3eB.js.map +0 -1
  941. package/lib/ZudokuContext-3cqbu21w.js +0 -1285
  942. package/lib/ZudokuContext-3cqbu21w.js.map +0 -1
  943. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +0 -9204
  944. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +0 -1
  945. package/lib/circular-CokAagii.js.map +0 -1
  946. package/lib/createServer-DW4hIUUB.js +0 -12499
  947. package/lib/createServer-DW4hIUUB.js.map +0 -1
  948. package/lib/hook-ChlxzJwv.js +0 -247
  949. package/lib/hook-ChlxzJwv.js.map +0 -1
  950. package/lib/index-7FEjMkZ_.js +0 -1058
  951. package/lib/index-7FEjMkZ_.js.map +0 -1
  952. package/lib/index-CF3Ls1wd.js.map +0 -1
  953. package/lib/index-QwGs6inR.js +0 -3397
  954. package/lib/index-QwGs6inR.js.map +0 -1
  955. package/lib/index.esm-CdzlRw50.js +0 -1254
  956. package/lib/index.esm-CdzlRw50.js.map +0 -1
  957. package/lib/jsx-runtime-DywqP_6a.js.map +0 -1
  958. package/lib/useExposedProps-BH9aq4MD.js +0 -113
  959. package/lib/useExposedProps-BH9aq4MD.js.map +0 -1
  960. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  961. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  962. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  963. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -18,9 +18,12 @@ import { CategoryHeading } from "../../components/CategoryHeading.js";
18
18
  import { useApiIdentities } from "../../components/context/ZudokuContext.js";
19
19
  import { Heading } from "../../components/Heading.js";
20
20
  import { Markdown } from "../../components/Markdown.js";
21
+ import { PagefindSearchMeta } from "../../components/PagefindSearchMeta.js";
21
22
  import { Pagination } from "../../components/Pagination.js";
23
+ import { joinUrl } from "../../util/joinUrl.js";
22
24
  import { useCreateQuery } from "./client/useCreateQuery.js";
23
25
  import { useOasConfig } from "./context.js";
26
+ import { DownloadSchemaButton } from "./DownloadSchemaButton.js";
24
27
  import { Endpoint } from "./Endpoint.js";
25
28
  import { graphql } from "./graphql/index.js";
26
29
  import { UNTAGGED_PATH } from "./index.js";
@@ -39,6 +42,10 @@ export const OperationsFragment = graphql(/* GraphQL */ `
39
42
  path
40
43
  deprecated
41
44
  extensions
45
+ servers {
46
+ url
47
+ description
48
+ }
42
49
  parameters {
43
50
  name
44
51
  in
@@ -142,6 +149,8 @@ const OperationsForTagQuery = graphql(/* GraphQL */ `
142
149
  }
143
150
  `);
144
151
 
152
+ const LAZY_OPERATION_LIST_THRESHOLD = 30;
153
+
145
154
  export const OperationList = ({
146
155
  tag,
147
156
  untagged,
@@ -149,7 +158,7 @@ export const OperationList = ({
149
158
  tag?: string;
150
159
  untagged?: boolean;
151
160
  }) => {
152
- const { input, type, versions, version, options } = useOasConfig();
161
+ const { path, input, type, versions, version, options } = useOasConfig();
153
162
  const { tag: tagFromParams } = useParams<"tag">();
154
163
  const query = useCreateQuery(OperationsForTagQuery, {
155
164
  input,
@@ -161,7 +170,10 @@ export const OperationList = ({
161
170
  const {
162
171
  data: { schema },
163
172
  } = result;
164
- const { selectedServer } = useSelectedServer(schema.servers);
173
+ // Global server selection for the dropdown UI
174
+ const { selectedServer: globalSelectedServer } = useSelectedServer(
175
+ schema.servers,
176
+ );
165
177
  const title = schema.title;
166
178
  const summary = schema.summary;
167
179
  const description = schema.description;
@@ -193,6 +205,10 @@ export const OperationList = ({
193
205
 
194
206
  const { operations, next, prev, description: tagDescription } = schema.tag;
195
207
 
208
+ // Simple heuristic to determine if we should lazy highlight the code
209
+ // This is to avoid the performance issues when there are a lot of operations
210
+ const shouldLazyHighlight = operations.length > LAZY_OPERATION_LIST_THRESHOLD;
211
+
196
212
  // The summary property is preferable here as it is a short description of
197
213
  // the API, whereas the description property is typically longer and supports
198
214
  // commonmark formatting, making it ill-suited for use in the meta description
@@ -231,21 +247,33 @@ export const OperationList = ({
231
247
  const tagTitle = schema.tag.extensions?.["x-displayName"] ?? schema.tag.name;
232
248
  const helmetTitle = [tagTitle, title].filter(Boolean).join(" - ");
233
249
 
250
+ const downloadUrl =
251
+ typeof input === "string"
252
+ ? type === "url"
253
+ ? input
254
+ : joinUrl(path, version, input.split("/").pop())
255
+ : undefined;
256
+
234
257
  return (
235
258
  <div
236
259
  className="pt-(--padding-content-top)"
237
260
  data-pagefind-filter="section:openapi"
238
261
  data-pagefind-meta="section:openapi"
239
262
  >
263
+ <PagefindSearchMeta name="category">{title}</PagefindSearchMeta>
240
264
  <Helmet>
241
265
  {helmetTitle && <title>{helmetTitle}</title>}
242
266
  {metaDescription && (
243
267
  <meta name="description" content={metaDescription} />
244
268
  )}
245
269
  </Helmet>
270
+
246
271
  <div className="mb-8">
247
- <Collapsible className="w-full">
248
- <div className="flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end">
272
+ <Collapsible
273
+ className="w-full"
274
+ defaultOpen={options?.expandApiInformation}
275
+ >
276
+ <div className="flex flex-col gap-4 sm:flex-row justify-around items-start sm:items-end">
249
277
  <div className="flex flex-col flex-1 gap-2">
250
278
  <CategoryHeading>{title}</CategoryHeading>
251
279
  <Heading
@@ -265,25 +293,32 @@ export const OperationList = ({
265
293
  <Endpoint />
266
294
  </div>
267
295
  <div className="flex flex-col gap-4 sm:items-end">
268
- {showVersions && (
269
- <Select
270
- // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
271
- onValueChange={(version) => navigate(versions[version]!)}
272
- defaultValue={version}
273
- disabled={!hasMultipleVersions}
274
- >
275
- <SelectTrigger className="w-[180px]">
276
- <SelectValue placeholder="Select version" />
277
- </SelectTrigger>
278
- <SelectContent>
279
- {Object.entries(versions).map(([version]) => (
280
- <SelectItem key={version} value={version}>
281
- {version}
282
- </SelectItem>
283
- ))}
284
- </SelectContent>
285
- </Select>
286
- )}
296
+ <div className="flex gap-2 items-center">
297
+ {showVersions && (
298
+ <Select
299
+ onValueChange={(version) =>
300
+ // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
301
+ navigate(versions[version]!.path)
302
+ }
303
+ defaultValue={version}
304
+ disabled={!hasMultipleVersions}
305
+ >
306
+ <SelectTrigger className="w-[180px]" size="sm">
307
+ <SelectValue placeholder="Select version" />
308
+ </SelectTrigger>
309
+ <SelectContent>
310
+ {Object.entries(versions).map(([version, { label }]) => (
311
+ <SelectItem key={version} value={version}>
312
+ {label}
313
+ </SelectItem>
314
+ ))}
315
+ </SelectContent>
316
+ </Select>
317
+ )}
318
+ {options?.schemaDownload?.enabled && downloadUrl && (
319
+ <DownloadSchemaButton downloadUrl={downloadUrl} />
320
+ )}
321
+ </div>
287
322
  {schema.description && (
288
323
  <CollapsibleTrigger className="flex items-center gap-1 text-sm font-medium text-muted-foreground group">
289
324
  <span>API information</span>
@@ -324,8 +359,9 @@ export const OperationList = ({
324
359
  {operations.map((fragment) => (
325
360
  <div key={fragment.slug}>
326
361
  <OperationListItem
327
- serverUrl={selectedServer}
328
362
  operationFragment={fragment}
363
+ globalSelectedServer={globalSelectedServer}
364
+ shouldLazyHighlight={shouldLazyHighlight}
329
365
  />
330
366
  <hr className="my-10" />
331
367
  </div>
@@ -1,8 +1,9 @@
1
- import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
2
1
  import { useState } from "react";
3
2
  import { Badge } from "zudoku/ui/Badge.js";
3
+ import { Separator } from "zudoku/ui/Separator.js";
4
4
  import { Heading } from "../../components/Heading.js";
5
5
  import { Markdown } from "../../components/Markdown.js";
6
+ import { PagefindSearchMeta } from "../../components/PagefindSearchMeta.js";
6
7
  import { cn } from "../../util/cn.js";
7
8
  import { groupBy } from "../../util/groupBy.js";
8
9
  import { renderIf } from "../../util/renderIf.js";
@@ -22,10 +23,12 @@ export type ParameterGroup = (typeof PARAM_GROUPS)[number];
22
23
 
23
24
  export const OperationListItem = ({
24
25
  operationFragment,
25
- serverUrl,
26
+ globalSelectedServer,
27
+ shouldLazyHighlight,
26
28
  }: {
27
29
  operationFragment: FragmentType<typeof OperationsFragment>;
28
- serverUrl?: string;
30
+ globalSelectedServer?: string;
31
+ shouldLazyHighlight?: boolean;
29
32
  }) => {
30
33
  const operation = useFragment(OperationsFragment, operationFragment);
31
34
  const groupedParameters = groupBy(
@@ -34,6 +37,10 @@ export const OperationListItem = ({
34
37
  );
35
38
  const { options } = useOasConfig();
36
39
 
40
+ // Manual server selection takes precedence over the server hierarchy.
41
+ // If no manual selection, fall back to operation's first server (already respects operation > path > global hierarchy)
42
+ const displayServerUrl = globalSelectedServer || operation.servers.at(0)?.url;
43
+
37
44
  const first = operation.responses.at(0);
38
45
  const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);
39
46
  const isMCPEndpoint = operation.extensions?.["x-mcp-server"] !== undefined;
@@ -66,9 +73,9 @@ export const OperationListItem = ({
66
73
  {operation.method.toUpperCase()}
67
74
  </span>
68
75
  <SelectOnClick className="max-w-full truncate flex cursor-pointer">
69
- {serverUrl && (
76
+ {displayServerUrl && (
70
77
  <div className="text-neutral-400 dark:text-neutral-500 truncate">
71
- {serverUrl.replace(/\/$/, "")}
78
+ {displayServerUrl.replace(/\/$/, "")}
72
79
  </div>
73
80
  )}
74
81
  <div className="text-neutral-900 dark:text-neutral-200">
@@ -81,7 +88,7 @@ export const OperationListItem = ({
81
88
  {isMCPEndpoint ? (
82
89
  <div className="col-span-full">
83
90
  <MCPEndpoint
84
- serverUrl={serverUrl}
91
+ serverUrl={displayServerUrl}
85
92
  summary={operation.summary ?? undefined}
86
93
  data={operation.extensions?.["x-mcp-server"]}
87
94
  />
@@ -114,19 +121,22 @@ export const OperationListItem = ({
114
121
  []
115
122
  ),
116
123
  )}
124
+ {renderIf(operation.requestBody?.content?.at(0)?.schema, () => (
125
+ <Separator className="my-4" />
126
+ ))}
117
127
  {renderIf(
118
128
  operation.requestBody?.content?.at(0)?.schema,
119
129
  (schema) => (
120
- <div className="mt-4 flex flex-col gap-4">
130
+ <div className="flex flex-col gap-4">
121
131
  <Heading
122
132
  level={3}
123
133
  className="capitalize flex items-center gap-2"
124
134
  id={`${operation.slug}/request-body`}
125
135
  >
126
136
  {operation.summary && (
127
- <VisuallyHidden>
137
+ <PagefindSearchMeta>
128
138
  {operation.summary} &rsaquo;{" "}
129
- </VisuallyHidden>
139
+ </PagefindSearchMeta>
130
140
  )}
131
141
  Request Body{" "}
132
142
  {operation.requestBody?.required === false ? (
@@ -139,17 +149,14 @@ export const OperationListItem = ({
139
149
  </div>
140
150
  ),
141
151
  )}
152
+ <Separator className="my-4" />
142
153
  {operation.responses.length > 0 && (
143
154
  <>
144
- <Heading
145
- level={3}
146
- className="capitalize mt-8 pt-8 border-t"
147
- id={`${operation.slug}/responses`}
148
- >
155
+ <Heading level={3} id={`${operation.slug}/responses`}>
149
156
  {operation.summary && (
150
- <VisuallyHidden>
157
+ <PagefindSearchMeta>
151
158
  {operation.summary} &rsaquo;{" "}
152
- </VisuallyHidden>
159
+ </PagefindSearchMeta>
153
160
  )}
154
161
  Responses
155
162
  </Heading>
@@ -166,8 +173,9 @@ export const OperationListItem = ({
166
173
  {renderIf(!options?.disableSidecar && !isMCPEndpoint, () => (
167
174
  <Sidecar
168
175
  selectedResponse={selectedResponse}
169
- onSelectResponse={setSelectedResponse}
170
176
  operation={operation}
177
+ globalSelectedServer={globalSelectedServer}
178
+ shouldLazyHighlight={shouldLazyHighlight}
171
179
  />
172
180
  ))}
173
181
  </div>
@@ -40,6 +40,7 @@ const getSchemaInfos = (schema?: SchemaObject) => {
40
40
  schema.enum && "enum",
41
41
  schema.const && "const",
42
42
  schema.format,
43
+ schema.type === "array" && schema.items?.contentMediaType,
43
44
  schema.minimum !== undefined && `min: ${schema.minimum}`,
44
45
  schema.maximum !== undefined && `max: ${schema.maximum}`,
45
46
  schema.minLength !== undefined && `minLength: ${schema.minLength}`,
@@ -1,6 +1,8 @@
1
1
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
2
+ import { Fragment } from "react";
2
3
  import { Heading } from "../../components/Heading.js";
3
- import { Card } from "../../ui/Card.js";
4
+ import { Frame, FramePanel } from "../../ui/Frame.js";
5
+ import { ItemGroup, ItemSeparator } from "../../ui/Item.js";
4
6
  import type { ParameterItem } from "./graphql/graphql.js";
5
7
  import type { ParameterGroup } from "./OperationListItem.js";
6
8
  import { ParameterListItem } from "./ParameterListItem.js";
@@ -15,25 +17,37 @@ export const ParameterList = ({
15
17
  group: ParameterGroup;
16
18
  parameters: ParameterItem[];
17
19
  id: string;
18
- }) => (
19
- <>
20
- <Heading level={3} id={`${id}/${group}-parameters`} className="capitalize">
21
- {summary && <VisuallyHidden>{summary} &rsaquo; </VisuallyHidden>}
22
- {group === "header" ? "Headers" : `${group} Parameters`}
23
- </Heading>
24
- <Card>
25
- <ul className="list-none m-0 px-0 divide-y ">
26
- {parameters
27
- .sort((a, b) => (a.required === b.required ? 0 : a.required ? -1 : 1))
28
- .map((parameter) => (
29
- <ParameterListItem
30
- key={`${parameter.name}-${parameter.in}`}
31
- parameter={parameter}
32
- id={id}
33
- group={group}
34
- />
35
- ))}
36
- </ul>
37
- </Card>
38
- </>
39
- );
20
+ }) => {
21
+ const sortedParameters = parameters.sort((a, b) =>
22
+ a.required === b.required ? 0 : a.required ? -1 : 1,
23
+ );
24
+
25
+ return (
26
+ <>
27
+ <Heading
28
+ level={3}
29
+ id={`${id}/${group}-parameters`}
30
+ className="capitalize"
31
+ >
32
+ {summary && <VisuallyHidden>{summary} &rsaquo; </VisuallyHidden>}
33
+ {group === "header" ? "Headers" : `${group} Parameters`}
34
+ </Heading>
35
+ <Frame>
36
+ <FramePanel className="p-0!">
37
+ <ItemGroup className="overflow-clip">
38
+ {sortedParameters.map((parameter, index) => (
39
+ <Fragment key={`${parameter.name}-${parameter.in}`}>
40
+ {index > 0 && <ItemSeparator />}
41
+ <ParameterListItem
42
+ parameter={parameter}
43
+ id={id}
44
+ group={group}
45
+ />
46
+ </Fragment>
47
+ ))}
48
+ </ItemGroup>
49
+ </FramePanel>
50
+ </Frame>
51
+ </>
52
+ );
53
+ };
@@ -4,9 +4,10 @@ import { useState } from "react";
4
4
  import { Markdown } from "../../components/Markdown.js";
5
5
  import type { SchemaObject } from "../../oas/graphql/index.js";
6
6
  import { Button } from "../../ui/Button.js";
7
+ import { Item, ItemActions, ItemContent, ItemTitle } from "../../ui/Item.js";
8
+ import { cn } from "../../util/cn.js";
7
9
  import { ColorizedParam } from "./ColorizedParam.js";
8
10
  import { EnumValues } from "./components/EnumValues.js";
9
- import { SelectOnClick } from "./components/SelectOnClick.js";
10
11
  import type { ParameterItem } from "./graphql/graphql.js";
11
12
  import type { ParameterGroup } from "./OperationListItem.js";
12
13
  import { ParamInfos } from "./ParamInfos.js";
@@ -35,75 +36,125 @@ export const ParameterListItem = ({
35
36
  const paramSchema = getParameterSchema(parameter);
36
37
  const [isOpen, setIsOpen] = useState(false);
37
38
 
39
+ const isCollapsible =
40
+ paramSchema.type === "object" ||
41
+ (isArrayType(paramSchema) &&
42
+ "items" in paramSchema &&
43
+ paramSchema.items?.type === "object");
44
+
45
+ const shouldRenderDescription = Boolean(
46
+ parameter.description ||
47
+ paramSchema.description ||
48
+ (paramSchema.type === "array" && paramSchema.items?.enum) ||
49
+ paramSchema.enum ||
50
+ paramSchema.example !== undefined ||
51
+ paramSchema.default !== undefined,
52
+ );
53
+
38
54
  return (
39
- <li className="p-4 bg-border/20 text-sm flex flex-col gap-1.5">
40
- <div className="flex items-center gap-2">
41
- <SelectOnClick asChild>
42
- <code>
43
- {group === "path" ? (
44
- <ColorizedParam
45
- name={parameter.name}
46
- backgroundOpacity="15%"
47
- className="px-2"
48
- slug={`${id}-${parameter.name}`}
55
+ <Item>
56
+ <ItemContent className="gap-y-2">
57
+ <div>
58
+ <ItemTitle className="inline me-2">
59
+ {isCollapsible ? (
60
+ <button
61
+ onClick={() => setIsOpen(!isOpen)}
62
+ type="button"
63
+ className="hover:underline"
64
+ >
65
+ <code>
66
+ {group === "path" ? (
67
+ <ColorizedParam
68
+ name={parameter.name}
69
+ backgroundOpacity="15%"
70
+ className="px-2"
71
+ slug={`${id}-${parameter.name}`}
72
+ />
73
+ ) : (
74
+ parameter.name
75
+ )}
76
+ </code>
77
+ </button>
78
+ ) : (
79
+ <code>
80
+ {group === "path" ? (
81
+ <ColorizedParam
82
+ name={parameter.name}
83
+ backgroundOpacity="15%"
84
+ className="px-2"
85
+ slug={`${id}-${parameter.name}`}
86
+ />
87
+ ) : (
88
+ parameter.name
89
+ )}
90
+ </code>
91
+ )}
92
+ </ItemTitle>
93
+ <ParamInfos
94
+ className="inline"
95
+ schema={paramSchema}
96
+ extraItems={[
97
+ parameter.required && (
98
+ <span className="text-primary">required</span>
99
+ ),
100
+ parameter.style && `style: ${parameter.style}`,
101
+ parameter.explode && `explode: ${parameter.explode}`,
102
+ ]}
103
+ />
104
+ </div>
105
+ {shouldRenderDescription && (
106
+ <div className="flex flex-col gap-1.5">
107
+ {parameter.description && (
108
+ <Markdown content={parameter.description} className="prose-sm" />
109
+ )}
110
+ {paramSchema.description && (
111
+ <Markdown
112
+ content={paramSchema.description}
113
+ className="prose-sm"
49
114
  />
115
+ )}
116
+ {paramSchema.type === "array" && paramSchema.items?.enum ? (
117
+ <EnumValues values={paramSchema.items.enum} />
50
118
  ) : (
51
- parameter.name
119
+ paramSchema.enum && <EnumValues values={paramSchema.enum} />
52
120
  )}
53
- </code>
54
- </SelectOnClick>
55
- <ParamInfos
56
- schema={paramSchema}
57
- extraItems={[
58
- parameter.required && (
59
- <span className="text-primary">required</span>
60
- ),
61
- parameter.style && `style: ${parameter.style}`,
62
- parameter.explode && `explode: ${parameter.explode}`,
63
- ]}
64
- />
65
- </div>
66
- {parameter.description && (
67
- <Markdown
68
- content={parameter.description}
69
- className="text-sm prose prose-p:my-1 prose-code:whitespace-pre-line"
70
- />
71
- )}
72
- {paramSchema.description && (
73
- <Markdown
74
- content={paramSchema.description}
75
- className="text-sm prose-p:my-1 prose-code:whitespace-pre-line"
76
- />
77
- )}
78
- {paramSchema.type === "array" && paramSchema.items.enum ? (
79
- <EnumValues values={paramSchema.items.enum} />
80
- ) : (
81
- paramSchema.enum && <EnumValues values={paramSchema.enum} />
121
+ <SchemaExampleAndDefault schema={paramSchema} />
122
+ </div>
123
+ )}
124
+ </ItemContent>
125
+
126
+ {isCollapsible && (
127
+ <ItemActions className="self-start">
128
+ <Button
129
+ variant="ghost"
130
+ size="icon"
131
+ className="rounded-full"
132
+ onClick={() => setIsOpen(!isOpen)}
133
+ aria-label="Toggle parameter"
134
+ >
135
+ {isOpen ? <MinusIcon size={16} /> : <PlusIcon size={16} />}
136
+ </Button>
137
+ </ItemActions>
82
138
  )}
83
- <SchemaExampleAndDefault schema={paramSchema} />
84
- {(paramSchema.type === "object" || isArrayType(paramSchema)) && (
139
+
140
+ {isCollapsible && (
85
141
  <Collapsible.Root
86
142
  defaultOpen={false}
87
- onOpenChange={setIsOpen}
88
143
  open={isOpen}
144
+ onOpenChange={setIsOpen}
145
+ className={cn("w-full", !isOpen && "contents")}
89
146
  >
90
- <Collapsible.Trigger asChild>
91
- <Button variant="expand" size="sm">
92
- {isOpen ? <MinusIcon size={12} /> : <PlusIcon size={12} />}
93
- {isOpen ? "Hide properties" : "Show properties"}
94
- </Button>
95
- </Collapsible.Trigger>
96
- <Collapsible.Content>
97
- <div className="mt-2">
147
+ <Collapsible.Content asChild>
148
+ <ItemContent>
98
149
  <SchemaView
99
150
  schema={
100
151
  "items" in paramSchema ? paramSchema.items : paramSchema
101
152
  }
102
153
  />
103
- </div>
154
+ </ItemContent>
104
155
  </Collapsible.Content>
105
156
  </Collapsible.Root>
106
157
  )}
107
- </li>
158
+ </Item>
108
159
  );
109
160
  };
@@ -1,4 +1,3 @@
1
- import { useAuth } from "zudoku/hooks";
2
1
  import type {
3
2
  MediaTypeObject,
4
3
  OperationsFragmentFragment,
@@ -16,9 +15,6 @@ export const PlaygroundDialogWrapper = ({
16
15
  operation: OperationsFragmentFragment;
17
16
  examples?: MediaTypeObject[];
18
17
  }) => {
19
- const { isAuthEnabled, login, signup, isPending, isAuthenticated } =
20
- useAuth();
21
-
22
18
  const headers = operation.parameters
23
19
  ?.filter((p) => p.in === "header")
24
20
  .sort((a, b) => (a.required && !b.required ? -1 : 1))
@@ -61,9 +57,6 @@ export const PlaygroundDialogWrapper = ({
61
57
  queryParams={queryParams}
62
58
  pathParams={pathParams}
63
59
  examples={examples}
64
- requiresLogin={isAuthEnabled && !isAuthenticated && !isPending}
65
- onLogin={() => login()}
66
- onSignUp={() => signup()}
67
60
  />
68
61
  );
69
62
  };
@@ -1,3 +1,10 @@
1
+ import { ChevronsDownUpIcon, ChevronsUpDownIcon } from "lucide-react";
2
+ import { Button } from "zudoku/components";
3
+ import {
4
+ Collapsible,
5
+ CollapsibleContent,
6
+ CollapsibleTrigger,
7
+ } from "zudoku/ui/Collapsible.js";
1
8
  import type { MediaTypeObject } from "./graphql/graphql.js";
2
9
  import * as SidecarBox from "./SidecarBox.js";
3
10
  import { SidecarExamples } from "./SidecarExamples.js";
@@ -5,18 +12,52 @@ import { SidecarExamples } from "./SidecarExamples.js";
5
12
  export const RequestBodySidecarBox = ({
6
13
  content,
7
14
  onExampleChange,
15
+ isOnScreen,
16
+ shouldLazyHighlight,
17
+ selectedContentIndex,
18
+ selectedExampleIndex,
8
19
  }: {
9
20
  content: MediaTypeObject[];
10
- onExampleChange?: (example: unknown) => void;
21
+ onExampleChange?: (selected: {
22
+ contentTypeIndex: number;
23
+ exampleIndex: number;
24
+ }) => void;
25
+ isOnScreen: boolean;
26
+ shouldLazyHighlight?: boolean;
27
+ selectedContentIndex: number;
28
+ selectedExampleIndex: number;
11
29
  }) => {
12
30
  if (content.length === 0) return null;
13
31
 
14
32
  return (
15
- <SidecarBox.Root>
16
- <SidecarBox.Head className="text-xs flex justify-between items-center">
17
- <span className="font-mono">Request Body Example</span>
18
- </SidecarBox.Head>
19
- <SidecarExamples content={content} onExampleChange={onExampleChange} />
20
- </SidecarBox.Root>
33
+ <Collapsible className="group/collapsible" defaultOpen>
34
+ <SidecarBox.Root>
35
+ <SidecarBox.Head className="text-xs flex justify-between items-center">
36
+ <span className="flex items-center gap-1 font-medium">
37
+ <CollapsibleTrigger asChild>
38
+ <Button
39
+ variant="ghost"
40
+ className="size-fit px-1 py-1 -my-1"
41
+ aria-label="Toggle request body examples"
42
+ >
43
+ <ChevronsDownUpIcon className="size-[1em] group-data-[state=closed]/collapsible:hidden" />
44
+ <ChevronsUpDownIcon className="size-[1em] group-data-[state=open]/collapsible:hidden" />
45
+ </Button>
46
+ </CollapsibleTrigger>
47
+ Example Request Body
48
+ </span>
49
+ </SidecarBox.Head>
50
+ <CollapsibleContent>
51
+ <SidecarExamples
52
+ selectedContentIndex={selectedContentIndex}
53
+ selectedExampleIndex={selectedExampleIndex}
54
+ content={content}
55
+ onExampleChange={onExampleChange}
56
+ isOnScreen={isOnScreen}
57
+ shouldLazyHighlight={shouldLazyHighlight}
58
+ />
59
+ </CollapsibleContent>
60
+ </SidecarBox.Root>
61
+ </Collapsible>
21
62
  );
22
63
  };