zudoku 0.0.0-feda542 → 0.0.0-ff27e7ea

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 (2034) hide show
  1. package/README.md +33 -13
  2. package/cli.js +9 -2
  3. package/dist/app/ZuploBuildConfig.d.ts +45 -0
  4. package/dist/app/ZuploBuildConfig.js +29 -0
  5. package/dist/app/ZuploBuildConfig.js.map +1 -0
  6. package/dist/app/demo.js +22 -6
  7. package/dist/app/demo.js.map +1 -1
  8. package/dist/app/entry.client.d.ts +0 -2
  9. package/dist/app/entry.client.js +39 -4
  10. package/dist/app/entry.client.js.map +1 -1
  11. package/dist/app/entry.server.d.ts +0 -2
  12. package/dist/app/entry.server.js +17 -6
  13. package/dist/app/entry.server.js.map +1 -1
  14. package/dist/app/env.d.ts +33 -0
  15. package/dist/app/env.js +37 -0
  16. package/dist/app/env.js.map +1 -0
  17. package/dist/app/main.d.ts +93 -2
  18. package/dist/app/main.js +45 -47
  19. package/dist/app/main.js.map +1 -1
  20. package/dist/app/standalone.js +11 -7
  21. package/dist/app/standalone.js.map +1 -1
  22. package/dist/cli/build/handler.js +9 -1
  23. package/dist/cli/build/handler.js.map +1 -1
  24. package/dist/cli/cli.d.ts +9 -0
  25. package/dist/cli/cli.js +17 -11
  26. package/dist/cli/cli.js.map +1 -1
  27. package/dist/cli/cmds/build.d.ts +1 -1
  28. package/dist/cli/cmds/dev.d.ts +1 -1
  29. package/dist/cli/cmds/preview.d.ts +1 -1
  30. package/dist/cli/common/analytics/lib.js +1 -1
  31. package/dist/cli/common/analytics/lib.js.map +1 -1
  32. package/dist/cli/common/logger.js +0 -1
  33. package/dist/cli/common/logger.js.map +1 -1
  34. package/dist/cli/common/machine-id/lib.js +3 -1
  35. package/dist/cli/common/machine-id/lib.js.map +1 -1
  36. package/dist/cli/common/outdated.js +2 -1
  37. package/dist/cli/common/outdated.js.map +1 -1
  38. package/dist/cli/common/output.js +2 -3
  39. package/dist/cli/common/output.js.map +1 -1
  40. package/dist/cli/common/utils/box.js +2 -2
  41. package/dist/cli/common/utils/box.js.map +1 -1
  42. package/dist/cli/common/validators/lib.js +1 -1
  43. package/dist/cli/common/validators/lib.js.map +1 -1
  44. package/dist/cli/common/version-check.d.ts +2 -0
  45. package/dist/cli/common/version-check.js +58 -0
  46. package/dist/cli/common/version-check.js.map +1 -0
  47. package/dist/cli/dev/handler.js +0 -4
  48. package/dist/cli/dev/handler.js.map +1 -1
  49. package/dist/codegen.js +2 -2
  50. package/dist/codegen.js.map +1 -1
  51. package/dist/config/config.d.ts +18 -32
  52. package/dist/config/file-exists.d.ts +1 -0
  53. package/dist/config/file-exists.js +5 -0
  54. package/dist/config/file-exists.js.map +1 -0
  55. package/dist/config/loader.d.ts +18 -18
  56. package/dist/config/loader.js +95 -103
  57. package/dist/config/loader.js.map +1 -1
  58. package/dist/config/validators/BuildSchema.d.ts +31 -46
  59. package/dist/config/validators/BuildSchema.js +29 -18
  60. package/dist/config/validators/BuildSchema.js.map +1 -1
  61. package/dist/config/validators/InputNavigationSchema.d.ts +7646 -0
  62. package/dist/config/validators/InputNavigationSchema.js +78 -0
  63. package/dist/config/validators/InputNavigationSchema.js.map +1 -0
  64. package/dist/config/validators/InputNavigationSchema.test-d.js +146 -0
  65. package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -0
  66. package/dist/config/validators/NavigationSchema.d.ts +44 -0
  67. package/dist/config/validators/NavigationSchema.js +98 -0
  68. package/dist/config/validators/NavigationSchema.js.map +1 -0
  69. package/dist/config/validators/ProtectedRoutesSchema.d.ts +13 -0
  70. package/dist/config/validators/ProtectedRoutesSchema.js +10 -0
  71. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -0
  72. package/dist/config/validators/auth.d.ts +2 -2
  73. package/dist/config/validators/auth.js +1 -1
  74. package/dist/config/validators/auth.js.map +1 -1
  75. package/dist/config/validators/icon-types.d.ts +2 -1
  76. package/dist/config/validators/icon-types.js +1872 -1
  77. package/dist/config/validators/icon-types.js.map +1 -1
  78. package/dist/config/validators/validate.d.ts +775 -2744
  79. package/dist/config/validators/validate.js +501 -18
  80. package/dist/config/validators/validate.js.map +1 -1
  81. package/dist/config/validators/validate.test.d.ts +1 -0
  82. package/dist/config/validators/validate.test.js +183 -0
  83. package/dist/config/validators/validate.test.js.map +1 -0
  84. package/dist/flat-config.d.ts +379 -0
  85. package/dist/index.d.ts +9 -5
  86. package/dist/index.js +4 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/lib/MissingIcon.d.ts +1 -1
  89. package/dist/lib/MissingIcon.js.map +1 -1
  90. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  91. package/dist/lib/assets/language-icons/c.js +4 -0
  92. package/dist/lib/assets/language-icons/c.js.map +1 -0
  93. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  94. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  95. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  96. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  97. package/dist/lib/assets/language-icons/cpp.js +4 -0
  98. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  99. package/dist/lib/assets/language-icons/csharp.d.ts +3 -0
  100. package/dist/lib/assets/language-icons/csharp.js +4 -0
  101. package/dist/lib/assets/language-icons/csharp.js.map +1 -0
  102. package/dist/lib/assets/language-icons/css.d.ts +3 -0
  103. package/dist/lib/assets/language-icons/css.js +4 -0
  104. package/dist/lib/assets/language-icons/css.js.map +1 -0
  105. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  106. package/dist/lib/assets/language-icons/dart.js +4 -0
  107. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  108. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  109. package/dist/lib/assets/language-icons/elixir.js +4 -0
  110. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  111. package/dist/lib/assets/language-icons/go.d.ts +3 -0
  112. package/dist/lib/assets/language-icons/go.js +4 -0
  113. package/dist/lib/assets/language-icons/go.js.map +1 -0
  114. package/dist/lib/assets/language-icons/graphql.d.ts +3 -0
  115. package/dist/lib/assets/language-icons/graphql.js +4 -0
  116. package/dist/lib/assets/language-icons/graphql.js.map +1 -0
  117. package/dist/lib/assets/language-icons/html.d.ts +3 -0
  118. package/dist/lib/assets/language-icons/html.js +4 -0
  119. package/dist/lib/assets/language-icons/html.js.map +1 -0
  120. package/dist/lib/assets/language-icons/java.d.ts +3 -0
  121. package/dist/lib/assets/language-icons/java.js +4 -0
  122. package/dist/lib/assets/language-icons/java.js.map +1 -0
  123. package/dist/lib/assets/language-icons/javascript.d.ts +3 -0
  124. package/dist/lib/assets/language-icons/javascript.js +4 -0
  125. package/dist/lib/assets/language-icons/javascript.js.map +1 -0
  126. package/dist/lib/assets/language-icons/json.d.ts +3 -0
  127. package/dist/lib/assets/language-icons/json.js +4 -0
  128. package/dist/lib/assets/language-icons/json.js.map +1 -0
  129. package/dist/lib/assets/language-icons/kotlin.d.ts +3 -0
  130. package/dist/lib/assets/language-icons/kotlin.js +4 -0
  131. package/dist/lib/assets/language-icons/kotlin.js.map +1 -0
  132. package/dist/lib/assets/language-icons/markdown.d.ts +3 -0
  133. package/dist/lib/assets/language-icons/markdown.js +4 -0
  134. package/dist/lib/assets/language-icons/markdown.js.map +1 -0
  135. package/dist/lib/assets/language-icons/mdx.d.ts +3 -0
  136. package/dist/lib/assets/language-icons/mdx.js +4 -0
  137. package/dist/lib/assets/language-icons/mdx.js.map +1 -0
  138. package/dist/lib/assets/language-icons/objectivec.d.ts +3 -0
  139. package/dist/lib/assets/language-icons/objectivec.js +4 -0
  140. package/dist/lib/assets/language-icons/objectivec.js.map +1 -0
  141. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  142. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  143. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  144. package/dist/lib/assets/language-icons/php.d.ts +3 -0
  145. package/dist/lib/assets/language-icons/php.js +4 -0
  146. package/dist/lib/assets/language-icons/php.js.map +1 -0
  147. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  148. package/dist/lib/assets/language-icons/powershell.js +4 -0
  149. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  150. package/dist/lib/assets/language-icons/python.d.ts +3 -0
  151. package/dist/lib/assets/language-icons/python.js +4 -0
  152. package/dist/lib/assets/language-icons/python.js.map +1 -0
  153. package/dist/lib/assets/language-icons/react.d.ts +3 -0
  154. package/dist/lib/assets/language-icons/react.js +4 -0
  155. package/dist/lib/assets/language-icons/react.js.map +1 -0
  156. package/dist/lib/assets/language-icons/ruby.d.ts +3 -0
  157. package/dist/lib/assets/language-icons/ruby.js +4 -0
  158. package/dist/lib/assets/language-icons/ruby.js.map +1 -0
  159. package/dist/lib/assets/language-icons/rust.d.ts +3 -0
  160. package/dist/lib/assets/language-icons/rust.js +4 -0
  161. package/dist/lib/assets/language-icons/rust.js.map +1 -0
  162. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  163. package/dist/lib/assets/language-icons/scala.js +4 -0
  164. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  165. package/dist/lib/assets/language-icons/shell.d.ts +3 -0
  166. package/dist/lib/assets/language-icons/shell.js +4 -0
  167. package/dist/lib/assets/language-icons/shell.js.map +1 -0
  168. package/dist/lib/assets/language-icons/swift.d.ts +3 -0
  169. package/dist/lib/assets/language-icons/swift.js +4 -0
  170. package/dist/lib/assets/language-icons/swift.js.map +1 -0
  171. package/dist/lib/assets/language-icons/toml.d.ts +3 -0
  172. package/dist/lib/assets/language-icons/toml.js +4 -0
  173. package/dist/lib/assets/language-icons/toml.js.map +1 -0
  174. package/dist/lib/assets/language-icons/typescript.d.ts +3 -0
  175. package/dist/lib/assets/language-icons/typescript.js +4 -0
  176. package/dist/lib/assets/language-icons/typescript.js.map +1 -0
  177. package/dist/lib/assets/language-icons/xml.d.ts +3 -0
  178. package/dist/lib/assets/language-icons/xml.js +4 -0
  179. package/dist/lib/assets/language-icons/xml.js.map +1 -0
  180. package/dist/lib/assets/language-icons/yaml.d.ts +3 -0
  181. package/dist/lib/assets/language-icons/yaml.js +4 -0
  182. package/dist/lib/assets/language-icons/yaml.js.map +1 -0
  183. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  184. package/dist/lib/assets/language-icons/zig.js +4 -0
  185. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  186. package/dist/lib/auth/issuer.d.ts +2 -0
  187. package/dist/lib/auth/issuer.js +40 -0
  188. package/dist/lib/auth/issuer.js.map +1 -0
  189. package/dist/lib/auth/issuer.test.d.ts +1 -0
  190. package/dist/lib/auth/issuer.test.js +95 -0
  191. package/dist/lib/auth/issuer.test.js.map +1 -0
  192. package/dist/lib/authentication/AuthenticationPlugin.d.ts +2 -2
  193. package/dist/lib/authentication/AuthenticationPlugin.js +1 -1
  194. package/dist/lib/authentication/AuthenticationPlugin.js.map +1 -1
  195. package/dist/lib/authentication/authentication.d.ts +20 -14
  196. package/dist/lib/authentication/components/CallbackHandler.js +16 -10
  197. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  198. package/dist/lib/authentication/components/OAuthErrorPage.d.ts +3 -0
  199. package/dist/lib/authentication/components/OAuthErrorPage.js +99 -0
  200. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -0
  201. package/dist/lib/authentication/components/SignIn.d.ts +1 -1
  202. package/dist/lib/authentication/components/SignIn.js +11 -6
  203. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  204. package/dist/lib/authentication/components/SignOut.js +6 -6
  205. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  206. package/dist/lib/authentication/components/SignUp.d.ts +1 -1
  207. package/dist/lib/authentication/components/SignUp.js +8 -5
  208. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  209. package/dist/lib/authentication/errors.d.ts +6 -12
  210. package/dist/lib/authentication/errors.js +2 -1
  211. package/dist/lib/authentication/errors.js.map +1 -1
  212. package/dist/lib/authentication/hook.d.ts +10 -2
  213. package/dist/lib/authentication/hook.js +12 -8
  214. package/dist/lib/authentication/hook.js.map +1 -1
  215. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  216. package/dist/lib/authentication/providers/auth0.js +16 -7
  217. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  218. package/dist/lib/authentication/providers/azureb2c.d.ts +28 -0
  219. package/dist/lib/authentication/providers/azureb2c.js +147 -0
  220. package/dist/lib/authentication/providers/azureb2c.js.map +1 -0
  221. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  222. package/dist/lib/authentication/providers/clerk.js +80 -60
  223. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  224. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  225. package/dist/lib/authentication/providers/firebase.js +215 -0
  226. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  227. package/dist/lib/authentication/providers/openid.d.ts +20 -23
  228. package/dist/lib/authentication/providers/openid.js +76 -45
  229. package/dist/lib/authentication/providers/openid.js.map +1 -1
  230. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  231. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  232. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  233. package/dist/lib/authentication/providers/supabase.d.ts +2 -2
  234. package/dist/lib/authentication/providers/supabase.js +35 -44
  235. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  236. package/dist/lib/authentication/state.d.ts +11 -12
  237. package/dist/lib/authentication/state.js +21 -20
  238. package/dist/lib/authentication/state.js.map +1 -1
  239. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +24 -0
  240. package/dist/lib/authentication/ui/ZudokuAuthUi.js +124 -0
  241. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  242. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  243. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  244. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  245. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  246. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  247. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  248. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  249. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  250. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  251. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  252. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  253. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  254. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  255. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  256. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  257. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  258. package/dist/lib/authentication/ui/icons/X.js +4 -0
  259. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  260. package/dist/lib/authentication/use-broadcast/shared.d.ts +1 -1
  261. package/dist/lib/authentication/use-broadcast/shared.js +3 -3
  262. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -1
  263. package/dist/lib/authentication/use-broadcast/useBroadcast.js +2 -2
  264. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -1
  265. package/dist/lib/components/Autocomplete.d.ts +3 -1
  266. package/dist/lib/components/Autocomplete.js +8 -4
  267. package/dist/lib/components/Autocomplete.js.map +1 -1
  268. package/dist/lib/components/Banner.js +2 -2
  269. package/dist/lib/components/Banner.js.map +1 -1
  270. package/dist/lib/components/Bootstrap.js.map +1 -1
  271. package/dist/lib/components/BuildCheck.d.ts +5 -0
  272. package/dist/lib/components/BuildCheck.js +45 -0
  273. package/dist/lib/components/BuildCheck.js.map +1 -0
  274. package/dist/lib/components/CategoryHeading.js +1 -1
  275. package/dist/lib/components/CategoryHeading.js.map +1 -1
  276. package/dist/lib/components/ErrorPage.js +2 -2
  277. package/dist/lib/components/ErrorPage.js.map +1 -1
  278. package/dist/lib/components/Footer.js +6 -6
  279. package/dist/lib/components/Footer.js.map +1 -1
  280. package/dist/lib/components/Framed.d.ts +7 -0
  281. package/dist/lib/components/Framed.js +26 -0
  282. package/dist/lib/components/Framed.js.map +1 -0
  283. package/dist/lib/components/Header.js +25 -18
  284. package/dist/lib/components/Header.js.map +1 -1
  285. package/dist/lib/components/Heading.d.ts +9 -5
  286. package/dist/lib/components/Heading.js +4 -3
  287. package/dist/lib/components/Heading.js.map +1 -1
  288. package/dist/lib/components/InlineCode.js +1 -1
  289. package/dist/lib/components/InlineCode.js.map +1 -1
  290. package/dist/lib/components/LanguageIcon.d.ts +3 -0
  291. package/dist/lib/components/LanguageIcon.js +163 -0
  292. package/dist/lib/components/LanguageIcon.js.map +1 -0
  293. package/dist/lib/components/Layout.js +6 -8
  294. package/dist/lib/components/Layout.js.map +1 -1
  295. package/dist/lib/components/Main.js +7 -6
  296. package/dist/lib/components/Main.js.map +1 -1
  297. package/dist/lib/components/Markdown.d.ts +3 -2
  298. package/dist/lib/components/Markdown.js +14 -16
  299. package/dist/lib/components/Markdown.js.map +1 -1
  300. package/dist/lib/components/Meta.d.ts +2 -0
  301. package/dist/lib/components/Meta.js +11 -0
  302. package/dist/lib/components/Meta.js.map +1 -0
  303. package/dist/lib/components/MobileTopNavigation.js +13 -6
  304. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  305. package/dist/lib/components/NotFoundPage.js +2 -2
  306. package/dist/lib/components/NotFoundPage.js.map +1 -1
  307. package/dist/lib/components/PageProgress.d.ts +1 -0
  308. package/dist/lib/components/PageProgress.js +20 -0
  309. package/dist/lib/components/PageProgress.js.map +1 -0
  310. package/dist/lib/components/Pagination.js +2 -2
  311. package/dist/lib/components/Pagination.js.map +1 -1
  312. package/dist/lib/components/PathRenderer.js +1 -1
  313. package/dist/lib/components/PathRenderer.js.map +1 -1
  314. package/dist/lib/components/Search.js +3 -3
  315. package/dist/lib/components/Search.js.map +1 -1
  316. package/dist/lib/components/Slot.d.ts +17 -0
  317. package/dist/lib/components/Slot.js +24 -0
  318. package/dist/lib/components/Slot.js.map +1 -0
  319. package/dist/lib/components/Slot.test.d.ts +1 -0
  320. package/dist/lib/components/Slot.test.js +172 -0
  321. package/dist/lib/components/Slot.test.js.map +1 -0
  322. package/dist/lib/components/StatusPage.js +4 -0
  323. package/dist/lib/components/StatusPage.js.map +1 -1
  324. package/dist/lib/components/TopNavigation.d.ts +7 -6
  325. package/dist/lib/components/TopNavigation.js +53 -55
  326. package/dist/lib/components/TopNavigation.js.map +1 -1
  327. package/dist/lib/components/Typography.d.ts +5 -0
  328. package/dist/lib/components/Typography.js +8 -0
  329. package/dist/lib/components/Typography.js.map +1 -0
  330. package/dist/lib/components/Zudoku.js +8 -10
  331. package/dist/lib/components/Zudoku.js.map +1 -1
  332. package/dist/lib/components/cache.d.ts +3 -1
  333. package/dist/lib/components/cache.js +3 -5
  334. package/dist/lib/components/cache.js.map +1 -1
  335. package/dist/lib/components/context/ComponentsContext.js.map +1 -1
  336. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -1
  337. package/dist/lib/components/context/SlotProvider.d.ts +26 -0
  338. package/dist/lib/components/context/SlotProvider.js +83 -0
  339. package/dist/lib/components/context/SlotProvider.js.map +1 -0
  340. package/dist/lib/components/context/ViewportAnchorContext.js +9 -10
  341. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  342. package/dist/lib/components/context/ZudokuContext.d.ts +3 -7
  343. package/dist/lib/components/context/ZudokuContext.js +66 -33
  344. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  345. package/dist/lib/components/context/ZudokuProvider.d.ts +1 -1
  346. package/dist/lib/components/context/ZudokuProvider.js +2 -1
  347. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  348. package/dist/lib/components/index.d.ts +51 -47
  349. package/dist/lib/components/index.js +17 -20
  350. package/dist/lib/components/index.js.map +1 -1
  351. package/dist/lib/components/navigation/Navigation.d.ts +5 -0
  352. package/dist/lib/components/navigation/Navigation.js +12 -0
  353. package/dist/lib/components/navigation/Navigation.js.map +1 -0
  354. package/dist/lib/components/navigation/NavigationBadge.d.ts +26 -0
  355. package/dist/lib/components/navigation/NavigationBadge.js +26 -0
  356. package/dist/lib/components/navigation/NavigationBadge.js.map +1 -0
  357. package/dist/lib/components/navigation/NavigationCategory.d.ts +5 -0
  358. package/dist/lib/components/navigation/NavigationCategory.js +66 -0
  359. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -0
  360. package/dist/lib/components/navigation/NavigationItem.d.ts +6 -0
  361. package/dist/lib/components/navigation/NavigationItem.js +55 -0
  362. package/dist/lib/components/navigation/NavigationItem.js.map +1 -0
  363. package/dist/lib/components/navigation/NavigationWrapper.d.ts +7 -0
  364. package/dist/lib/components/navigation/NavigationWrapper.js +21 -0
  365. package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -0
  366. package/dist/lib/components/navigation/PoweredByZudoku.js +2 -1
  367. package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -1
  368. package/dist/lib/components/navigation/Toc.js +2 -2
  369. package/dist/lib/components/navigation/Toc.js.map +1 -1
  370. package/dist/lib/components/navigation/ZudokuLogo.d.ts +1 -1
  371. package/dist/lib/components/navigation/ZuploLogo.d.ts +3 -0
  372. package/dist/lib/components/navigation/ZuploLogo.js +4 -0
  373. package/dist/lib/components/navigation/ZuploLogo.js.map +1 -0
  374. package/dist/lib/components/navigation/utils.d.ts +16 -8
  375. package/dist/lib/components/navigation/utils.js +58 -27
  376. package/dist/lib/components/navigation/utils.js.map +1 -1
  377. package/dist/lib/core/RouteGuard.d.ts +1 -1
  378. package/dist/lib/core/RouteGuard.js +19 -27
  379. package/dist/lib/core/RouteGuard.js.map +1 -1
  380. package/dist/lib/core/ZudokuContext.d.ts +38 -21
  381. package/dist/lib/core/ZudokuContext.js +51 -14
  382. package/dist/lib/core/ZudokuContext.js.map +1 -1
  383. package/dist/lib/core/__internal.d.ts +37 -0
  384. package/dist/lib/core/__internal.js +26 -0
  385. package/dist/lib/core/__internal.js.map +1 -0
  386. package/dist/lib/core/plugins.d.ts +8 -4
  387. package/dist/lib/core/plugins.js +1 -0
  388. package/dist/lib/core/plugins.js.map +1 -1
  389. package/dist/lib/core/router.d.ts +1 -0
  390. package/dist/lib/core/router.js +2 -0
  391. package/dist/lib/core/router.js.map +1 -0
  392. package/dist/lib/errors/ErrorAlert.js +2 -4
  393. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  394. package/dist/lib/errors/RouterError.d.ts +3 -1
  395. package/dist/lib/errors/RouterError.js +3 -2
  396. package/dist/lib/errors/RouterError.js.map +1 -1
  397. package/dist/lib/errors/TopLevelError.d.ts +2 -2
  398. package/dist/lib/errors/TopLevelError.js +1 -2
  399. package/dist/lib/errors/TopLevelError.js.map +1 -1
  400. package/dist/lib/hooks/index.d.ts +25 -0
  401. package/dist/lib/hooks/index.js +11 -0
  402. package/dist/lib/hooks/index.js.map +1 -1
  403. package/dist/lib/hooks/useEvent.test.js +5 -3
  404. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  405. package/dist/lib/hooks/useHotkey.d.ts +4 -0
  406. package/dist/lib/hooks/useHotkey.js +58 -0
  407. package/dist/lib/hooks/useHotkey.js.map +1 -0
  408. package/dist/lib/oas/graphql/circular.js +24 -19
  409. package/dist/lib/oas/graphql/circular.js.map +1 -1
  410. package/dist/lib/oas/graphql/index.js +39 -3
  411. package/dist/lib/oas/graphql/index.js.map +1 -1
  412. package/dist/lib/oas/parser/dereference/index.js +2 -1
  413. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  414. package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
  415. package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
  416. package/dist/lib/oas/parser/index.d.ts +3 -0
  417. package/dist/lib/oas/parser/index.js +12 -2
  418. package/dist/lib/oas/parser/index.js.map +1 -1
  419. package/dist/lib/oas/parser/upgrade/index.d.ts +1 -0
  420. package/dist/lib/oas/parser/upgrade/index.js +79 -26
  421. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  422. package/dist/lib/plugins/api-catalog/Catalog.d.ts +1 -1
  423. package/dist/lib/plugins/api-catalog/Catalog.js +8 -2
  424. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  425. package/dist/lib/plugins/api-catalog/index.d.ts +6 -6
  426. package/dist/lib/plugins/api-catalog/index.js +10 -10
  427. package/dist/lib/plugins/api-catalog/index.js.map +1 -1
  428. package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +3 -2
  429. package/dist/lib/plugins/api-keys/CreateApiKey.js +18 -4
  430. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  431. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
  432. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js +9 -0
  433. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js.map +1 -0
  434. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  435. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  436. package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
  437. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +146 -27
  438. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  439. package/dist/lib/plugins/api-keys/index.d.ts +29 -15
  440. package/dist/lib/plugins/api-keys/index.js +63 -33
  441. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  442. package/dist/lib/plugins/custom-pages/index.d.ts +4 -6
  443. package/dist/lib/plugins/custom-pages/index.js +18 -10
  444. package/dist/lib/plugins/custom-pages/index.js.map +1 -1
  445. package/dist/lib/plugins/markdown/MdxPage.d.ts +3 -3
  446. package/dist/lib/plugins/markdown/MdxPage.js +56 -12
  447. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  448. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  449. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  450. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  451. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  452. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  453. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  454. package/dist/lib/plugins/markdown/index.d.ts +14 -4
  455. package/dist/lib/plugins/markdown/index.js +9 -26
  456. package/dist/lib/plugins/markdown/index.js.map +1 -1
  457. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  458. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  459. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  460. package/dist/lib/plugins/openapi/ColorizedParam.js +5 -2
  461. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  462. package/dist/lib/plugins/openapi/Endpoint.js +2 -2
  463. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  464. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  465. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  466. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  467. package/dist/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
  468. package/dist/lib/plugins/openapi/MCPEndpoint.js +56 -0
  469. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -0
  470. package/dist/lib/plugins/openapi/OasProvider.d.ts +1 -1
  471. package/dist/lib/plugins/openapi/OasProvider.js +1 -0
  472. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  473. package/dist/lib/plugins/openapi/OperationList.d.ts +1 -3
  474. package/dist/lib/plugins/openapi/OperationList.js +39 -13
  475. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  476. package/dist/lib/plugins/openapi/OperationListItem.d.ts +4 -3
  477. package/dist/lib/plugins/openapi/OperationListItem.js +16 -7
  478. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  479. package/dist/lib/plugins/openapi/ParamInfos.d.ts +1 -1
  480. package/dist/lib/plugins/openapi/ParamInfos.js +15 -10
  481. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  482. package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -2
  483. package/dist/lib/plugins/openapi/ParameterList.js +8 -5
  484. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  485. package/dist/lib/plugins/openapi/ParameterListItem.d.ts +2 -3
  486. package/dist/lib/plugins/openapi/ParameterListItem.js +25 -7
  487. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  488. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -4
  489. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +8 -6
  490. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  491. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +11 -4
  492. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  493. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  494. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +5 -6
  495. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +25 -7
  496. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  497. package/dist/lib/plugins/openapi/SchemaList.js +7 -7
  498. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  499. package/dist/lib/plugins/openapi/Sidecar.d.ts +5 -4
  500. package/dist/lib/plugins/openapi/Sidecar.js +64 -88
  501. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  502. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  503. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  504. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +11 -6
  505. package/dist/lib/plugins/openapi/SidecarExamples.js +32 -43
  506. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  507. package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
  508. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +1 -1
  509. package/dist/lib/plugins/openapi/client/createServer.js +1 -2
  510. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  511. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +5 -0
  512. package/dist/lib/plugins/openapi/client/useCreateQuery.js +10 -4
  513. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  514. package/dist/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
  515. package/dist/lib/plugins/openapi/components/ConstValue.js +6 -0
  516. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -0
  517. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  518. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  519. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  520. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  521. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  522. package/dist/lib/plugins/openapi/components/ResponseContent.d.ts +12 -0
  523. package/dist/lib/plugins/openapi/components/ResponseContent.js +20 -0
  524. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -0
  525. package/dist/lib/plugins/openapi/context.d.ts +1 -1
  526. package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +1 -1
  527. package/dist/lib/plugins/openapi/graphql/gql.d.ts +3 -3
  528. package/dist/lib/plugins/openapi/graphql/gql.js +3 -3
  529. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  530. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +15 -5
  531. package/dist/lib/plugins/openapi/graphql/graphql.js +14 -2
  532. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  533. package/dist/lib/plugins/openapi/index.d.ts +5 -6
  534. package/dist/lib/plugins/openapi/index.js +61 -31
  535. package/dist/lib/plugins/openapi/index.js.map +1 -1
  536. package/dist/lib/plugins/openapi/interfaces.d.ts +22 -7
  537. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +5 -0
  538. package/dist/lib/plugins/openapi/playground/BodyPanel.js +78 -0
  539. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -0
  540. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.d.ts +8 -0
  541. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +11 -0
  542. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -0
  543. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +3 -3
  544. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +2 -1
  545. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  546. package/dist/lib/plugins/openapi/playground/Headers.d.ts +5 -4
  547. package/dist/lib/plugins/openapi/playground/Headers.js +42 -80
  548. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  549. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +1 -1
  550. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +2 -1
  551. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -1
  552. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +1 -1
  553. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -4
  554. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -1
  555. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  556. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +9 -2
  557. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  558. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -4
  559. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  560. package/dist/lib/plugins/openapi/playground/Playground.d.ts +12 -10
  561. package/dist/lib/plugins/openapi/playground/Playground.js +166 -106
  562. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  563. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +5 -2
  564. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  565. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +4 -4
  566. package/dist/lib/plugins/openapi/playground/QueryParams.js +20 -29
  567. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  568. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  569. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  570. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  571. package/dist/lib/plugins/openapi/playground/Spinner.d.ts +2 -0
  572. package/dist/lib/plugins/openapi/playground/Spinner.js +63 -0
  573. package/dist/lib/plugins/openapi/playground/Spinner.js.map +1 -0
  574. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +2 -0
  575. package/dist/lib/plugins/openapi/playground/fileUtils.js +22 -0
  576. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -0
  577. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +5 -3
  578. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  579. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  580. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  581. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.d.ts +3 -0
  582. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js +13 -0
  583. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js.map +1 -0
  584. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.d.ts +1 -0
  585. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +12 -0
  586. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -0
  587. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  588. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  589. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  590. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  591. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  592. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  593. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +12 -0
  594. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js +11 -0
  595. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js.map +1 -0
  596. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.d.ts +8 -0
  597. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +71 -0
  598. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -0
  599. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +10 -4
  600. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +55 -39
  601. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  602. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +6 -4
  603. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +8 -10
  604. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  605. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +1 -1
  606. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +1 -1
  607. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -1
  608. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +18 -0
  609. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +12 -0
  610. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -0
  611. package/dist/lib/plugins/openapi/processors/removeExtensions.d.ts +3 -2
  612. package/dist/lib/plugins/openapi/processors/removeExtensions.js +1 -1
  613. package/dist/lib/plugins/openapi/processors/removeExtensions.js.map +1 -1
  614. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +27 -6
  615. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
  616. package/dist/lib/plugins/openapi/processors/removeParameters.d.ts +3 -1
  617. package/dist/lib/plugins/openapi/processors/removeParameters.js +1 -1
  618. package/dist/lib/plugins/openapi/processors/removeParameters.js.map +1 -1
  619. package/dist/lib/plugins/openapi/processors/removeParameters.test.js +54 -25
  620. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
  621. package/dist/lib/plugins/openapi/processors/removePaths.d.ts +3 -1
  622. package/dist/lib/plugins/openapi/processors/removePaths.js +1 -1
  623. package/dist/lib/plugins/openapi/processors/removePaths.js.map +1 -1
  624. package/dist/lib/plugins/openapi/processors/removePaths.test.js +75 -35
  625. package/dist/lib/plugins/openapi/processors/removePaths.test.js.map +1 -1
  626. package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -1
  627. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -1
  628. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +5 -2
  629. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  630. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +0 -3
  631. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +29 -26
  632. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  633. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +4 -2
  634. package/dist/lib/plugins/openapi/schema/SchemaView.js +33 -19
  635. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  636. package/dist/lib/plugins/openapi/schema/UnionView.d.ts +5 -0
  637. package/dist/lib/plugins/openapi/schema/UnionView.js +33 -0
  638. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -0
  639. package/dist/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
  640. package/dist/lib/plugins/openapi/schema/union-helpers.js +71 -0
  641. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -0
  642. package/dist/lib/plugins/openapi/schema/utils.d.ts +6 -8
  643. package/dist/lib/plugins/openapi/schema/utils.js +15 -13
  644. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  645. package/dist/lib/plugins/openapi/state.d.ts +5 -3
  646. package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +11 -0
  647. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +89 -0
  648. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -0
  649. package/dist/lib/plugins/openapi/util/createNavigationCategory.d.ts +9 -0
  650. package/dist/lib/plugins/openapi/util/createNavigationCategory.js +25 -0
  651. package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -0
  652. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +2 -2
  653. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +43 -2
  654. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  655. package/dist/lib/plugins/openapi/util/getRoutes.js +52 -15
  656. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  657. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
  658. package/dist/lib/plugins/redirect/index.d.ts +1 -1
  659. package/dist/lib/plugins/search-inkeep/index.d.ts +5 -22
  660. package/dist/lib/plugins/search-inkeep/index.js +35 -29
  661. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  662. package/dist/lib/plugins/search-inkeep/inkeep.d.ts +5 -21
  663. package/dist/lib/plugins/search-inkeep/inkeep.js +10 -19
  664. package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
  665. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +2 -2
  666. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  667. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +2 -2
  668. package/dist/lib/plugins/search-pagefind/ResultList.js +15 -5
  669. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  670. package/dist/lib/plugins/search-pagefind/get-results.js +0 -1
  671. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
  672. package/dist/lib/shiki.d.ts +32 -0
  673. package/dist/lib/shiki.js +124 -0
  674. package/dist/lib/shiki.js.map +1 -0
  675. package/dist/lib/ui/ActionButton.js +1 -1
  676. package/dist/lib/ui/ActionButton.js.map +1 -1
  677. package/dist/lib/ui/Alert.d.ts +6 -5
  678. package/dist/lib/ui/Alert.js +12 -10
  679. package/dist/lib/ui/Alert.js.map +1 -1
  680. package/dist/lib/ui/Badge.d.ts +5 -5
  681. package/dist/lib/ui/Badge.js +9 -7
  682. package/dist/lib/ui/Badge.js.map +1 -1
  683. package/dist/lib/ui/Breadcrumb.js +1 -1
  684. package/dist/lib/ui/Breadcrumb.js.map +1 -1
  685. package/dist/lib/ui/Button.d.ts +2 -2
  686. package/dist/lib/ui/Button.js +9 -6
  687. package/dist/lib/ui/Button.js.map +1 -1
  688. package/dist/lib/ui/Callout.d.ts +5 -5
  689. package/dist/lib/ui/Callout.js +6 -6
  690. package/dist/lib/ui/Callout.js.map +1 -1
  691. package/dist/lib/ui/Card.js +1 -1
  692. package/dist/lib/ui/Checkbox.d.ts +2 -2
  693. package/dist/lib/ui/Checkbox.js +4 -4
  694. package/dist/lib/ui/Checkbox.js.map +1 -1
  695. package/dist/lib/ui/CodeBlock.d.ts +14 -0
  696. package/dist/lib/ui/CodeBlock.js +18 -0
  697. package/dist/lib/ui/CodeBlock.js.map +1 -0
  698. package/dist/lib/ui/Collapsible.d.ts +4 -4
  699. package/dist/lib/ui/Collapsible.js +11 -4
  700. package/dist/lib/ui/Collapsible.js.map +1 -1
  701. package/dist/lib/ui/Command.d.ts +5 -5
  702. package/dist/lib/ui/Command.js +3 -7
  703. package/dist/lib/ui/Command.js.map +1 -1
  704. package/dist/lib/ui/Dialog.d.ts +13 -17
  705. package/dist/lib/ui/Dialog.js +31 -18
  706. package/dist/lib/ui/Dialog.js.map +1 -1
  707. package/dist/lib/ui/DropdownMenu.js +4 -4
  708. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  709. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +16 -0
  710. package/dist/lib/ui/EmbeddedCodeBlock.js +19 -0
  711. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -0
  712. package/dist/lib/ui/Form.d.ts +3 -3
  713. package/dist/lib/ui/Frame.d.ts +8 -0
  714. package/dist/lib/ui/Frame.js +22 -0
  715. package/dist/lib/ui/Frame.js.map +1 -0
  716. package/dist/lib/ui/HoverCard.js +1 -1
  717. package/dist/lib/ui/HoverCard.js.map +1 -1
  718. package/dist/lib/ui/Input.js +1 -1
  719. package/dist/lib/ui/Input.js.map +1 -1
  720. package/dist/lib/ui/Item.d.ts +23 -0
  721. package/dist/lib/ui/Item.js +67 -0
  722. package/dist/lib/ui/Item.js.map +1 -0
  723. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  724. package/dist/lib/ui/NativeSelect.js +14 -0
  725. package/dist/lib/ui/NativeSelect.js.map +1 -0
  726. package/dist/lib/ui/Pagination.d.ts +1 -1
  727. package/dist/lib/ui/Pagination.js +1 -1
  728. package/dist/lib/ui/Pagination.js.map +1 -1
  729. package/dist/lib/ui/Popover.js +1 -1
  730. package/dist/lib/ui/Popover.js.map +1 -1
  731. package/dist/lib/ui/RadioGroup.js +1 -1
  732. package/dist/lib/ui/RadioGroup.js.map +1 -1
  733. package/dist/lib/ui/ReactComponentDoc.d.ts +20 -0
  734. package/dist/lib/ui/ReactComponentDoc.js +10 -0
  735. package/dist/lib/ui/ReactComponentDoc.js.map +1 -0
  736. package/dist/lib/ui/Secret.d.ts +18 -0
  737. package/dist/lib/ui/Secret.js +26 -0
  738. package/dist/lib/ui/Secret.js.map +1 -0
  739. package/dist/lib/ui/Select.d.ts +13 -11
  740. package/dist/lib/ui/Select.js +34 -23
  741. package/dist/lib/ui/Select.js.map +1 -1
  742. package/dist/lib/ui/Separator.d.ts +4 -0
  743. package/dist/lib/ui/Separator.js +8 -0
  744. package/dist/lib/ui/Separator.js.map +1 -0
  745. package/dist/lib/ui/Slider.js +1 -1
  746. package/dist/lib/ui/Slider.js.map +1 -1
  747. package/dist/lib/ui/Switch.js +1 -1
  748. package/dist/lib/ui/Switch.js.map +1 -1
  749. package/dist/lib/ui/SyntaxHighlight.d.ts +13 -15
  750. package/dist/lib/ui/SyntaxHighlight.js +13 -60
  751. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  752. package/dist/lib/ui/Tabs.js +2 -2
  753. package/dist/lib/ui/Tabs.js.map +1 -1
  754. package/dist/lib/ui/Textarea.js +1 -1
  755. package/dist/lib/ui/Textarea.js.map +1 -1
  756. package/dist/lib/ui/Toggle.js +1 -1
  757. package/dist/lib/ui/Toggle.js.map +1 -1
  758. package/dist/lib/ui/ToggleGroup.d.ts +1 -1
  759. package/dist/lib/ui/Tooltip.d.ts +7 -6
  760. package/dist/lib/ui/Tooltip.js +16 -9
  761. package/dist/lib/ui/Tooltip.js.map +1 -1
  762. package/dist/lib/ui/Value.d.ts +5 -0
  763. package/dist/lib/ui/Value.js +13 -0
  764. package/dist/lib/ui/Value.js.map +1 -0
  765. package/dist/lib/util/MdxComponents.d.ts +19 -4
  766. package/dist/lib/util/MdxComponents.js +16 -12
  767. package/dist/lib/util/MdxComponents.js.map +1 -1
  768. package/dist/lib/util/cn.js.map +1 -1
  769. package/dist/lib/util/createVariantComponent.d.ts +7 -4
  770. package/dist/lib/util/createVariantComponent.js +5 -2
  771. package/dist/lib/util/createVariantComponent.js.map +1 -1
  772. package/dist/lib/util/ensureArray.d.ts +1 -0
  773. package/dist/lib/util/ensureArray.js +2 -0
  774. package/dist/lib/util/ensureArray.js.map +1 -0
  775. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  776. package/dist/lib/util/flattenAllOf.js +65 -0
  777. package/dist/lib/util/flattenAllOf.js.map +1 -0
  778. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  779. package/dist/lib/util/flattenAllOf.test.js +532 -0
  780. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  781. package/dist/lib/util/groupBy.js +1 -0
  782. package/dist/lib/util/groupBy.js.map +1 -1
  783. package/dist/lib/util/humanFileSize.d.ts +6 -0
  784. package/dist/lib/util/humanFileSize.js +14 -0
  785. package/dist/lib/util/humanFileSize.js.map +1 -0
  786. package/dist/lib/util/humanFileSize.test.d.ts +1 -0
  787. package/dist/lib/util/humanFileSize.test.js +22 -0
  788. package/dist/lib/util/humanFileSize.test.js.map +1 -0
  789. package/dist/lib/util/invariant.d.ts +6 -5
  790. package/dist/lib/util/invariant.js +4 -2
  791. package/dist/lib/util/invariant.js.map +1 -1
  792. package/dist/lib/util/os.d.ts +2 -0
  793. package/dist/lib/util/os.js +21 -0
  794. package/dist/lib/util/os.js.map +1 -0
  795. package/dist/lib/util/pastellize.js +4 -4
  796. package/dist/lib/util/pastellize.js.map +1 -1
  797. package/dist/lib/util/syncZustandState.d.ts +5 -0
  798. package/dist/lib/util/syncZustandState.js +14 -0
  799. package/dist/lib/util/syncZustandState.js.map +1 -0
  800. package/dist/lib/util/traverse.d.ts +2 -1
  801. package/dist/lib/util/traverse.js +31 -5
  802. package/dist/lib/util/traverse.js.map +1 -1
  803. package/dist/lib/util/url.d.ts +4 -0
  804. package/dist/lib/util/url.js +13 -0
  805. package/dist/lib/util/url.js.map +1 -0
  806. package/dist/lib/util/url.test.d.ts +1 -0
  807. package/dist/lib/util/url.test.js +26 -0
  808. package/dist/lib/util/url.test.js.map +1 -0
  809. package/dist/lib/util/useCopyToClipboard.d.ts +1 -0
  810. package/dist/lib/util/useCopyToClipboard.js +11 -0
  811. package/dist/lib/util/useCopyToClipboard.js.map +1 -0
  812. package/dist/lib/util/useExposedProps.d.ts +8 -1
  813. package/dist/lib/util/useExposedProps.js.map +1 -1
  814. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -1
  815. package/dist/lib/util/useScrollToAnchor.js +5 -3
  816. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  817. package/dist/ts.js +3 -3
  818. package/dist/ts.js.map +1 -1
  819. package/dist/vite/api/SchemaManager.d.ts +38 -0
  820. package/dist/vite/api/SchemaManager.js +152 -0
  821. package/dist/vite/api/SchemaManager.js.map +1 -0
  822. package/dist/vite/api/SchemaManager.test.d.ts +1 -0
  823. package/dist/vite/api/SchemaManager.test.js +106 -0
  824. package/dist/vite/api/SchemaManager.test.js.map +1 -0
  825. package/dist/vite/api/schema-codegen.js +71 -22
  826. package/dist/vite/api/schema-codegen.js.map +1 -1
  827. package/dist/vite/api/schema-codegen.test.js +156 -1
  828. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  829. package/dist/vite/build.js +22 -7
  830. package/dist/vite/build.js.map +1 -1
  831. package/dist/vite/config.d.ts +2 -9
  832. package/dist/vite/config.js +61 -97
  833. package/dist/vite/config.js.map +1 -1
  834. package/dist/vite/config.test.js +1 -1
  835. package/dist/vite/config.test.js.map +1 -1
  836. package/dist/vite/css/plugin.d.ts +1 -2
  837. package/dist/vite/css/plugin.js +14 -2
  838. package/dist/vite/css/plugin.js.map +1 -1
  839. package/dist/vite/dev-server.d.ts +0 -1
  840. package/dist/vite/dev-server.js +25 -16
  841. package/dist/vite/dev-server.js.map +1 -1
  842. package/dist/vite/error-handler.d.ts +2 -2
  843. package/dist/vite/error-handler.js.map +1 -1
  844. package/dist/vite/html.d.ts +7 -3
  845. package/dist/vite/html.js +15 -9
  846. package/dist/vite/html.js.map +1 -1
  847. package/dist/vite/llms.d.ts +12 -0
  848. package/dist/vite/llms.js +66 -0
  849. package/dist/vite/llms.js.map +1 -0
  850. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  851. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  852. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  853. package/dist/vite/mdx/remark-last-modified.d.ts +3 -0
  854. package/dist/vite/mdx/remark-last-modified.js +82 -0
  855. package/dist/vite/mdx/remark-last-modified.js.map +1 -0
  856. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  857. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  858. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  859. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  860. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  861. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  862. package/dist/vite/mdx/remark-static-generation.d.ts +3 -0
  863. package/dist/vite/mdx/remark-static-generation.js +125 -0
  864. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  865. package/dist/vite/mdx/utils.d.ts +2 -0
  866. package/dist/vite/mdx/utils.js +31 -0
  867. package/dist/vite/mdx/utils.js.map +1 -0
  868. package/dist/vite/output.d.ts +1 -1
  869. package/dist/vite/output.js +1 -1
  870. package/dist/vite/output.js.map +1 -1
  871. package/dist/vite/plugin-api-keys.d.ts +2 -3
  872. package/dist/vite/plugin-api-keys.js +10 -4
  873. package/dist/vite/plugin-api-keys.js.map +1 -1
  874. package/dist/vite/plugin-api.d.ts +1 -2
  875. package/dist/vite/plugin-api.js +59 -135
  876. package/dist/vite/plugin-api.js.map +1 -1
  877. package/dist/vite/plugin-auth.d.ts +2 -3
  878. package/dist/vite/plugin-auth.js +4 -3
  879. package/dist/vite/plugin-auth.js.map +1 -1
  880. package/dist/vite/plugin-component.d.ts +2 -3
  881. package/dist/vite/plugin-component.js +3 -2
  882. package/dist/vite/plugin-component.js.map +1 -1
  883. package/dist/vite/plugin-config-reload.d.ts +2 -3
  884. package/dist/vite/plugin-config-reload.js +23 -22
  885. package/dist/vite/plugin-config-reload.js.map +1 -1
  886. package/dist/vite/plugin-config.d.ts +2 -3
  887. package/dist/vite/plugin-config.js +6 -4
  888. package/dist/vite/plugin-config.js.map +1 -1
  889. package/dist/vite/plugin-custom-pages.d.ts +2 -3
  890. package/dist/vite/plugin-custom-pages.js +6 -5
  891. package/dist/vite/plugin-custom-pages.js.map +1 -1
  892. package/dist/vite/plugin-docs.d.ts +10 -2
  893. package/dist/vite/plugin-docs.js +95 -64
  894. package/dist/vite/plugin-docs.js.map +1 -1
  895. package/dist/vite/plugin-frontmatter.d.ts +1 -2
  896. package/dist/vite/plugin-frontmatter.js +10 -5
  897. package/dist/vite/plugin-frontmatter.js.map +1 -1
  898. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  899. package/dist/vite/plugin-markdown-export.js +141 -0
  900. package/dist/vite/plugin-markdown-export.js.map +1 -0
  901. package/dist/vite/plugin-mdx.d.ts +2 -3
  902. package/dist/vite/plugin-mdx.js +60 -94
  903. package/dist/vite/plugin-mdx.js.map +1 -1
  904. package/dist/vite/plugin-metadata.d.ts +1 -1
  905. package/dist/vite/plugin-navigation.d.ts +4 -0
  906. package/dist/vite/plugin-navigation.js +67 -0
  907. package/dist/vite/plugin-navigation.js.map +1 -0
  908. package/dist/vite/plugin-redirect.d.ts +2 -3
  909. package/dist/vite/plugin-redirect.js +4 -3
  910. package/dist/vite/plugin-redirect.js.map +1 -1
  911. package/dist/vite/plugin-search.d.ts +2 -3
  912. package/dist/vite/plugin-search.js +4 -3
  913. package/dist/vite/plugin-search.js.map +1 -1
  914. package/dist/vite/plugin-shiki-register.d.ts +2 -0
  915. package/dist/vite/plugin-shiki-register.js +39 -0
  916. package/dist/vite/plugin-shiki-register.js.map +1 -0
  917. package/dist/vite/plugin-theme.d.ts +8 -0
  918. package/dist/vite/plugin-theme.js +283 -0
  919. package/dist/vite/plugin-theme.js.map +1 -0
  920. package/dist/vite/plugin-theme.test.d.ts +1 -0
  921. package/dist/vite/plugin-theme.test.js +314 -0
  922. package/dist/vite/plugin-theme.test.js.map +1 -0
  923. package/dist/vite/plugin.d.ts +2 -3
  924. package/dist/vite/plugin.js +26 -23
  925. package/dist/vite/plugin.js.map +1 -1
  926. package/dist/vite/prerender/FileWritingResponse.js +5 -3
  927. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  928. package/dist/vite/prerender/InMemoryResponse.js +3 -1
  929. package/dist/vite/prerender/InMemoryResponse.js.map +1 -1
  930. package/dist/vite/prerender/prerender.js +38 -5
  931. package/dist/vite/prerender/prerender.js.map +1 -1
  932. package/dist/vite/prerender/worker.d.ts +1 -1
  933. package/dist/vite/prerender/worker.js +5 -1
  934. package/dist/vite/prerender/worker.js.map +1 -1
  935. package/dist/vite/reporter.js +2 -2
  936. package/dist/vite/reporter.js.map +1 -1
  937. package/dist/vite/shadcn-registry.d.ts +20 -0
  938. package/dist/vite/shadcn-registry.js +29 -0
  939. package/dist/vite/shadcn-registry.js.map +1 -0
  940. package/dist/vite/sitemap.d.ts +1 -1
  941. package/dist/vite/sitemap.js +14 -13
  942. package/dist/vite/sitemap.js.map +1 -1
  943. package/dist/zuplo/enrich-with-zuplo-mcp.d.ts +4 -0
  944. package/dist/zuplo/enrich-with-zuplo-mcp.js +117 -0
  945. package/dist/zuplo/enrich-with-zuplo-mcp.js.map +1 -0
  946. package/dist/zuplo/enrich-with-zuplo.d.ts +4 -3
  947. package/dist/zuplo/enrich-with-zuplo.js +22 -21
  948. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  949. package/dist/zuplo/policy-types.js +0 -1
  950. package/dist/zuplo/policy-types.js.map +1 -1
  951. package/dist/zuplo/with-zuplo-processors.d.ts +2 -2
  952. package/dist/zuplo/with-zuplo-processors.js +6 -4
  953. package/dist/zuplo/with-zuplo-processors.js.map +1 -1
  954. package/dist/zuplo/with-zuplo.d.ts +5 -2
  955. package/dist/zuplo/with-zuplo.js +6 -9
  956. package/dist/zuplo/with-zuplo.js.map +1 -1
  957. package/lib/Button-B3ucvvQw.js +52 -0
  958. package/lib/Button-B3ucvvQw.js.map +1 -0
  959. package/lib/Card-KFniaZn5.js +61 -0
  960. package/lib/Card-KFniaZn5.js.map +1 -0
  961. package/lib/CategoryHeading-DhmodDcq.js +17 -0
  962. package/lib/CategoryHeading-DhmodDcq.js.map +1 -0
  963. package/lib/ClientOnly-E7hGysn1.js.map +1 -1
  964. package/lib/Command-CUcrW3qs.js +134 -0
  965. package/lib/Command-CUcrW3qs.js.map +1 -0
  966. package/lib/Dialog-BQciPiHN.js +144 -0
  967. package/lib/Dialog-BQciPiHN.js.map +1 -0
  968. package/lib/Drawer-Ci7XwhqT.js +1133 -0
  969. package/lib/Drawer-Ci7XwhqT.js.map +1 -0
  970. package/lib/DropdownMenu-BZ2NKQ3K.js +126 -0
  971. package/lib/DropdownMenu-BZ2NKQ3K.js.map +1 -0
  972. package/lib/ErrorAlert-_1Zmhr68.js +15475 -0
  973. package/lib/ErrorAlert-_1Zmhr68.js.map +1 -0
  974. package/lib/MdxPage-B2t1EShN.js +240 -0
  975. package/lib/MdxPage-B2t1EShN.js.map +1 -0
  976. package/lib/OAuthErrorPage-DnKnq4xK.js +150 -0
  977. package/lib/OAuthErrorPage-DnKnq4xK.js.map +1 -0
  978. package/lib/OasProvider-Df8i4LN9.js +36 -0
  979. package/lib/OasProvider-Df8i4LN9.js.map +1 -0
  980. package/lib/OperationList-BGhUll5h.js +5688 -0
  981. package/lib/OperationList-BGhUll5h.js.map +1 -0
  982. package/lib/Pagination-hk-llhpw.js +37 -0
  983. package/lib/Pagination-hk-llhpw.js.map +1 -0
  984. package/lib/RouteGuard-Brz95MSt.js +77 -0
  985. package/lib/RouteGuard-Brz95MSt.js.map +1 -0
  986. package/lib/RouterError-CMaIfdjb.js +42 -0
  987. package/lib/RouterError-CMaIfdjb.js.map +1 -0
  988. package/lib/SchemaList-1BwTDYj4.js +150 -0
  989. package/lib/SchemaList-1BwTDYj4.js.map +1 -0
  990. package/lib/SchemaView-iAxsr0Pr.js +572 -0
  991. package/lib/SchemaView-iAxsr0Pr.js.map +1 -0
  992. package/lib/Select-DFRCS31-.js +399 -0
  993. package/lib/Select-DFRCS31-.js.map +1 -0
  994. package/lib/SignUp-sGYAsj2K.js +50 -0
  995. package/lib/SignUp-sGYAsj2K.js.map +1 -0
  996. package/lib/Spinner-CI6bRyZw.js +7 -0
  997. package/lib/Spinner-CI6bRyZw.js.map +1 -0
  998. package/lib/SyntaxHighlight-C19vH0V_.js +10352 -0
  999. package/lib/SyntaxHighlight-C19vH0V_.js.map +1 -0
  1000. package/lib/Toc-DbWS75JZ.js +92 -0
  1001. package/lib/Toc-DbWS75JZ.js.map +1 -0
  1002. package/lib/ZudokuContext-BUZ5hkWB.js +1508 -0
  1003. package/lib/ZudokuContext-BUZ5hkWB.js.map +1 -0
  1004. package/lib/c-B-NUhs61.js +46 -0
  1005. package/lib/c-B-NUhs61.js.map +1 -0
  1006. package/lib/chunk-PVWAREVJ-BMhpCH5D.js +7965 -0
  1007. package/lib/chunk-PVWAREVJ-BMhpCH5D.js.map +1 -0
  1008. package/lib/circular-KI-MGwIg.js +15341 -0
  1009. package/lib/circular-KI-MGwIg.js.map +1 -0
  1010. package/lib/clsx-OuTLNxxd.js +17 -0
  1011. package/lib/clsx-OuTLNxxd.js.map +1 -0
  1012. package/lib/cn-dYga0KKN.js +2731 -0
  1013. package/lib/cn-dYga0KKN.js.map +1 -0
  1014. package/lib/commonlisp-De080z23.js +28 -0
  1015. package/lib/commonlisp-De080z23.js.map +1 -0
  1016. package/lib/cpp-79Paht7T.js +53 -0
  1017. package/lib/cpp-79Paht7T.js.map +1 -0
  1018. package/lib/createServer-CBgHAqRV.js +13018 -0
  1019. package/lib/createServer-CBgHAqRV.js.map +1 -0
  1020. package/lib/csharp-D8MIL50B.js +53 -0
  1021. package/lib/csharp-D8MIL50B.js.map +1 -0
  1022. package/lib/css-Bt6hr1td.js +54 -0
  1023. package/lib/css-Bt6hr1td.js.map +1 -0
  1024. package/lib/dart-B0vy1jWB.js +60 -0
  1025. package/lib/dart-B0vy1jWB.js.map +1 -0
  1026. package/lib/elixir-Ds8r0sF8.js +25 -0
  1027. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  1028. package/lib/errors-CD873hrG.js +45 -0
  1029. package/lib/errors-CD873hrG.js.map +1 -0
  1030. package/lib/go-D2VsmIOS.js +25 -0
  1031. package/lib/go-D2VsmIOS.js.map +1 -0
  1032. package/lib/graphql-BtA6M4m5.js +25 -0
  1033. package/lib/graphql-BtA6M4m5.js.map +1 -0
  1034. package/lib/hook-CMeoxziF.js +40 -0
  1035. package/lib/hook-CMeoxziF.js.map +1 -0
  1036. package/lib/html-MGnI2uzP.js +33 -0
  1037. package/lib/html-MGnI2uzP.js.map +1 -0
  1038. package/lib/index-BK0jKRrX.js +2210 -0
  1039. package/lib/index-BK0jKRrX.js.map +1 -0
  1040. package/lib/index-CrcNWbel.js +316 -0
  1041. package/lib/index-CrcNWbel.js.map +1 -0
  1042. package/lib/index-CscynaXA.js +3680 -0
  1043. package/lib/index-CscynaXA.js.map +1 -0
  1044. package/lib/index-DI5SPFK9.js +36 -0
  1045. package/lib/index-DI5SPFK9.js.map +1 -0
  1046. package/lib/index-nGbmHh_A.js +4827 -0
  1047. package/lib/index-nGbmHh_A.js.map +1 -0
  1048. package/lib/index-pMMX55GH.js +1059 -0
  1049. package/lib/index-pMMX55GH.js.map +1 -0
  1050. package/lib/index.esm-BYObtETB.js +1294 -0
  1051. package/lib/index.esm-BYObtETB.js.map +1 -0
  1052. package/lib/index.esm-BnYHxCYC.js +683 -0
  1053. package/lib/index.esm-BnYHxCYC.js.map +1 -0
  1054. package/lib/invariant-Bm-FVUQE.js +44 -0
  1055. package/lib/invariant-Bm-FVUQE.js.map +1 -0
  1056. package/lib/java-CVLzHfb1.js +53 -0
  1057. package/lib/java-CVLzHfb1.js.map +1 -0
  1058. package/lib/javascript-CcmIpL4G.js +10 -0
  1059. package/lib/javascript-CcmIpL4G.js.map +1 -0
  1060. package/lib/json-4AyP4uiY.js +25 -0
  1061. package/lib/json-4AyP4uiY.js.map +1 -0
  1062. package/lib/jsx-runtime-BzflLqGi.js +283 -0
  1063. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  1064. package/lib/kotlin-v2plddBQ.js +37 -0
  1065. package/lib/kotlin-v2plddBQ.js.map +1 -0
  1066. package/lib/markdown-DYGWCmGQ.js +25 -0
  1067. package/lib/markdown-DYGWCmGQ.js.map +1 -0
  1068. package/lib/mdx-CHwYvXd4.js +32 -0
  1069. package/lib/mdx-CHwYvXd4.js.map +1 -0
  1070. package/lib/mutation-BSU0xu4m.js +196 -0
  1071. package/lib/mutation-BSU0xu4m.js.map +1 -0
  1072. package/lib/objectivec-HZY8shkd.js +32 -0
  1073. package/lib/objectivec-HZY8shkd.js.map +1 -0
  1074. package/lib/ocaml-DqsdDdwb.js +52 -0
  1075. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  1076. package/lib/php-rQXzo7K_.js +25 -0
  1077. package/lib/php-rQXzo7K_.js.map +1 -0
  1078. package/lib/powershell-CQje9pm1.js +39 -0
  1079. package/lib/powershell-CQje9pm1.js.map +1 -0
  1080. package/lib/processors/removeExtensions.js +1 -1
  1081. package/lib/processors/removeExtensions.js.map +1 -1
  1082. package/lib/processors/removeParameters.js +27 -28
  1083. package/lib/processors/removeParameters.js.map +1 -1
  1084. package/lib/processors/removePaths.js +17 -17
  1085. package/lib/processors/removePaths.js.map +1 -1
  1086. package/lib/processors/traverse.js +9 -7
  1087. package/lib/processors/traverse.js.map +1 -1
  1088. package/lib/python-QIQAE5Ei.js +32 -0
  1089. package/lib/python-QIQAE5Ei.js.map +1 -0
  1090. package/lib/react-DHpVpxRv.js +24 -0
  1091. package/lib/react-DHpVpxRv.js.map +1 -0
  1092. package/lib/ruby-B2dU8Ny5.js +25 -0
  1093. package/lib/ruby-B2dU8Ny5.js.map +1 -0
  1094. package/lib/rust-DYnLHAi2.js +25 -0
  1095. package/lib/rust-DYnLHAi2.js.map +1 -0
  1096. package/lib/scala-CeKInBR8.js +25 -0
  1097. package/lib/scala-CeKInBR8.js.map +1 -0
  1098. package/lib/shell-HUv9oVtp.js +25 -0
  1099. package/lib/shell-HUv9oVtp.js.map +1 -0
  1100. package/lib/swift-B4z6ig1Z.js +25 -0
  1101. package/lib/swift-B4z6ig1Z.js.map +1 -0
  1102. package/lib/toml-Co9mpdct.js +32 -0
  1103. package/lib/toml-Co9mpdct.js.map +1 -0
  1104. package/lib/typescript-C26xdBDC.js +32 -0
  1105. package/lib/typescript-C26xdBDC.js.map +1 -0
  1106. package/lib/ui/Accordion.js +2 -2
  1107. package/lib/ui/Accordion.js.map +1 -1
  1108. package/lib/ui/ActionButton.js +11 -11
  1109. package/lib/ui/ActionButton.js.map +1 -1
  1110. package/lib/ui/Alert.js +55 -39
  1111. package/lib/ui/Alert.js.map +1 -1
  1112. package/lib/ui/AlertDialog.js +2 -2
  1113. package/lib/ui/AlertDialog.js.map +1 -1
  1114. package/lib/ui/Badge.js +28 -14
  1115. package/lib/ui/Badge.js.map +1 -1
  1116. package/lib/ui/Breadcrumb.js +24 -23
  1117. package/lib/ui/Breadcrumb.js.map +1 -1
  1118. package/lib/ui/Button.js +20 -17
  1119. package/lib/ui/Button.js.map +1 -1
  1120. package/lib/ui/Callout.js +18 -17
  1121. package/lib/ui/Callout.js.map +1 -1
  1122. package/lib/ui/Card.js +9 -9
  1123. package/lib/ui/Card.js.map +1 -1
  1124. package/lib/ui/Carousel.js +348 -348
  1125. package/lib/ui/Carousel.js.map +1 -1
  1126. package/lib/ui/Checkbox.js +29 -26
  1127. package/lib/ui/Checkbox.js.map +1 -1
  1128. package/lib/ui/CodeBlock.js +220 -0
  1129. package/lib/ui/CodeBlock.js.map +1 -0
  1130. package/lib/ui/Collapsible.js +32 -5
  1131. package/lib/ui/Collapsible.js.map +1 -1
  1132. package/lib/ui/Command.js +67 -73
  1133. package/lib/ui/Command.js.map +1 -1
  1134. package/lib/ui/Dialog.js +140 -95
  1135. package/lib/ui/Dialog.js.map +1 -1
  1136. package/lib/ui/Drawer.js +3 -3
  1137. package/lib/ui/DropdownMenu.js +35 -35
  1138. package/lib/ui/DropdownMenu.js.map +1 -1
  1139. package/lib/ui/EmbeddedCodeBlock.js +84 -0
  1140. package/lib/ui/EmbeddedCodeBlock.js.map +1 -0
  1141. package/lib/ui/Form.js +3 -3
  1142. package/lib/ui/Form.js.map +1 -1
  1143. package/lib/ui/Frame.js +81 -0
  1144. package/lib/ui/Frame.js.map +1 -0
  1145. package/lib/ui/HoverCard.js +6 -6
  1146. package/lib/ui/HoverCard.js.map +1 -1
  1147. package/lib/ui/Input.js +3 -3
  1148. package/lib/ui/Input.js.map +1 -1
  1149. package/lib/ui/Item.js +188 -0
  1150. package/lib/ui/Item.js.map +1 -0
  1151. package/lib/ui/Label.js +3 -3
  1152. package/lib/ui/Label.js.map +1 -1
  1153. package/lib/ui/NativeSelect.js +57 -0
  1154. package/lib/ui/NativeSelect.js.map +1 -0
  1155. package/lib/ui/Pagination.js +29 -30
  1156. package/lib/ui/Pagination.js.map +1 -1
  1157. package/lib/ui/Popover.js +3 -3
  1158. package/lib/ui/Popover.js.map +1 -1
  1159. package/lib/ui/Progress.js +2 -2
  1160. package/lib/ui/Progress.js.map +1 -1
  1161. package/lib/ui/RadioGroup.js +11 -11
  1162. package/lib/ui/RadioGroup.js.map +1 -1
  1163. package/lib/ui/ReactComponentDoc.js +28 -0
  1164. package/lib/ui/ReactComponentDoc.js.map +1 -0
  1165. package/lib/ui/ScrollArea.js +2 -2
  1166. package/lib/ui/ScrollArea.js.map +1 -1
  1167. package/lib/ui/Secret.js +106 -0
  1168. package/lib/ui/Secret.js.map +1 -0
  1169. package/lib/ui/Select.js +166 -116
  1170. package/lib/ui/Select.js.map +1 -1
  1171. package/lib/ui/Separator.js +27 -0
  1172. package/lib/ui/Separator.js.map +1 -0
  1173. package/lib/ui/Skeleton.js +2 -2
  1174. package/lib/ui/Skeleton.js.map +1 -1
  1175. package/lib/ui/Slider.js +6 -6
  1176. package/lib/ui/Slider.js.map +1 -1
  1177. package/lib/ui/Stepper.js +1 -1
  1178. package/lib/ui/Stepper.js.map +1 -1
  1179. package/lib/ui/Switch.js +6 -6
  1180. package/lib/ui/Switch.js.map +1 -1
  1181. package/lib/ui/SyntaxHighlight.js +6 -6
  1182. package/lib/ui/Tabs.js +12 -12
  1183. package/lib/ui/Tabs.js.map +1 -1
  1184. package/lib/ui/Textarea.js +6 -6
  1185. package/lib/ui/Textarea.js.map +1 -1
  1186. package/lib/ui/Toggle.js +8 -8
  1187. package/lib/ui/Toggle.js.map +1 -1
  1188. package/lib/ui/ToggleGroup.js +2 -2
  1189. package/lib/ui/ToggleGroup.js.map +1 -1
  1190. package/lib/ui/Tooltip.js +55 -21
  1191. package/lib/ui/Tooltip.js.map +1 -1
  1192. package/lib/ui/Value.js +39 -0
  1193. package/lib/ui/Value.js.map +1 -0
  1194. package/lib/ui/util.js +1 -1
  1195. package/lib/useCopyToClipboard-B_085nfO.js +14 -0
  1196. package/lib/useCopyToClipboard-B_085nfO.js.map +1 -0
  1197. package/lib/useExposedProps-U3pmsHaG.js +113 -0
  1198. package/lib/useExposedProps-U3pmsHaG.js.map +1 -0
  1199. package/lib/useLatest-hmRS46UF.js.map +1 -1
  1200. package/lib/xml-BQOOC04j.js +25 -0
  1201. package/lib/xml-BQOOC04j.js.map +1 -0
  1202. package/lib/yaml-BGsJItKv.js +32 -0
  1203. package/lib/yaml-BGsJItKv.js.map +1 -0
  1204. package/lib/zig-CUV2sTct.js +35 -0
  1205. package/lib/zig-CUV2sTct.js.map +1 -0
  1206. package/lib/zudoku.__internal.js +3084 -0
  1207. package/lib/zudoku.__internal.js.map +1 -0
  1208. package/lib/zudoku.auth-auth0.js +36 -38
  1209. package/lib/zudoku.auth-auth0.js.map +1 -1
  1210. package/lib/zudoku.auth-azureb2c.js +136 -0
  1211. package/lib/zudoku.auth-azureb2c.js.map +1 -0
  1212. package/lib/zudoku.auth-clerk.js +94 -89
  1213. package/lib/zudoku.auth-clerk.js.map +1 -1
  1214. package/lib/zudoku.auth-openid.js +558 -549
  1215. package/lib/zudoku.auth-openid.js.map +1 -1
  1216. package/lib/zudoku.auth-supabase.js +154 -0
  1217. package/lib/zudoku.auth-supabase.js.map +1 -0
  1218. package/lib/zudoku.components.js +24 -29
  1219. package/lib/zudoku.hooks.js +21 -13
  1220. package/lib/zudoku.hooks.js.map +1 -1
  1221. package/lib/zudoku.icons.js +1 -1
  1222. package/lib/zudoku.icons.js.map +1 -1
  1223. package/lib/zudoku.plugin-api-catalog.js +74 -67
  1224. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  1225. package/lib/zudoku.plugin-api-keys.js +632 -193
  1226. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  1227. package/lib/zudoku.plugin-custom-pages.js +15 -18
  1228. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  1229. package/lib/zudoku.plugin-markdown.js +21 -73
  1230. package/lib/zudoku.plugin-markdown.js.map +1 -1
  1231. package/lib/zudoku.plugin-openapi.js +7 -6
  1232. package/lib/zudoku.plugin-redirect.js +1 -1
  1233. package/lib/zudoku.plugin-redirect.js.map +1 -1
  1234. package/lib/zudoku.plugin-search-inkeep.js +55 -59
  1235. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  1236. package/lib/zudoku.plugin-search-pagefind.js +216 -125
  1237. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  1238. package/lib/zudoku.plugins.js +7 -6
  1239. package/lib/zudoku.plugins.js.map +1 -1
  1240. package/lib/zudoku.router.js +2507 -0
  1241. package/lib/zudoku.router.js.map +1 -0
  1242. package/package.json +156 -115
  1243. package/src/app/ZuploBuildConfig.ts +33 -0
  1244. package/src/app/defaultTheme.css +73 -0
  1245. package/src/app/demo.html +1 -1
  1246. package/src/app/demo.tsx +25 -7
  1247. package/src/app/entry.client.tsx +47 -5
  1248. package/src/app/entry.server.tsx +20 -12
  1249. package/src/app/env.ts +43 -0
  1250. package/src/app/font.geist.css +73 -0
  1251. package/src/app/main.css +186 -152
  1252. package/src/app/main.tsx +67 -58
  1253. package/src/app/standalone.tsx +14 -8
  1254. package/src/lib/MissingIcon.tsx +1 -1
  1255. package/src/lib/assets/language-icons/c.tsx +31 -0
  1256. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  1257. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  1258. package/src/lib/assets/language-icons/csharp.tsx +35 -0
  1259. package/src/lib/assets/language-icons/css.tsx +36 -0
  1260. package/src/lib/assets/language-icons/dart.tsx +39 -0
  1261. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  1262. package/src/lib/assets/language-icons/go.tsx +19 -0
  1263. package/src/lib/assets/language-icons/graphql.tsx +19 -0
  1264. package/src/lib/assets/language-icons/html.tsx +24 -0
  1265. package/src/lib/assets/language-icons/java.tsx +35 -0
  1266. package/src/lib/assets/language-icons/javascript.tsx +11 -0
  1267. package/src/lib/assets/language-icons/json.tsx +19 -0
  1268. package/src/lib/assets/language-icons/kotlin.tsx +30 -0
  1269. package/src/lib/assets/language-icons/markdown.tsx +19 -0
  1270. package/src/lib/assets/language-icons/mdx.tsx +23 -0
  1271. package/src/lib/assets/language-icons/objectivec.tsx +23 -0
  1272. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  1273. package/src/lib/assets/language-icons/php.tsx +19 -0
  1274. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  1275. package/src/lib/assets/language-icons/python.tsx +23 -0
  1276. package/src/lib/assets/language-icons/react.tsx +21 -0
  1277. package/src/lib/assets/language-icons/ruby.tsx +19 -0
  1278. package/src/lib/assets/language-icons/rust.tsx +19 -0
  1279. package/src/lib/assets/language-icons/scala.tsx +19 -0
  1280. package/src/lib/assets/language-icons/shell.tsx +19 -0
  1281. package/src/lib/assets/language-icons/swift.tsx +19 -0
  1282. package/src/lib/assets/language-icons/toml.tsx +23 -0
  1283. package/src/lib/assets/language-icons/typescript.tsx +23 -0
  1284. package/src/lib/assets/language-icons/xml.tsx +19 -0
  1285. package/src/lib/assets/language-icons/yaml.tsx +23 -0
  1286. package/src/lib/assets/language-icons/zig.tsx +32 -0
  1287. package/src/lib/auth/issuer.test.ts +121 -0
  1288. package/src/lib/auth/issuer.ts +44 -0
  1289. package/src/lib/authentication/AuthenticationPlugin.tsx +2 -2
  1290. package/src/lib/authentication/authentication.ts +26 -11
  1291. package/src/lib/authentication/components/CallbackHandler.tsx +28 -11
  1292. package/src/lib/authentication/components/OAuthErrorPage.tsx +171 -0
  1293. package/src/lib/authentication/components/SignIn.tsx +34 -6
  1294. package/src/lib/authentication/components/SignOut.tsx +7 -6
  1295. package/src/lib/authentication/components/SignUp.tsx +36 -5
  1296. package/src/lib/authentication/errors.ts +27 -13
  1297. package/src/lib/authentication/hook.ts +23 -10
  1298. package/src/lib/authentication/providers/auth0.tsx +26 -10
  1299. package/src/lib/authentication/providers/azureb2c.tsx +208 -0
  1300. package/src/lib/authentication/providers/clerk.tsx +100 -71
  1301. package/src/lib/authentication/providers/firebase.tsx +284 -0
  1302. package/src/lib/authentication/providers/openid.tsx +127 -58
  1303. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  1304. package/src/lib/authentication/providers/supabase.tsx +68 -63
  1305. package/src/lib/authentication/state.ts +40 -30
  1306. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +335 -0
  1307. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  1308. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  1309. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  1310. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  1311. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  1312. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  1313. package/src/lib/authentication/use-broadcast/LICENSE.md +12 -3
  1314. package/src/lib/authentication/use-broadcast/shared.ts +4 -4
  1315. package/src/lib/authentication/use-broadcast/useBroadcast.ts +2 -2
  1316. package/src/lib/components/AnchorLink.tsx +1 -1
  1317. package/src/lib/components/Autocomplete.tsx +15 -5
  1318. package/src/lib/components/Banner.tsx +3 -4
  1319. package/src/lib/components/Bootstrap.tsx +1 -0
  1320. package/src/lib/components/BuildCheck.tsx +88 -0
  1321. package/src/lib/components/CategoryHeading.tsx +4 -1
  1322. package/src/lib/components/ErrorPage.tsx +3 -3
  1323. package/src/lib/components/Footer.tsx +8 -11
  1324. package/src/lib/components/Framed.tsx +51 -0
  1325. package/src/lib/components/Header.tsx +46 -43
  1326. package/src/lib/components/Heading.tsx +14 -11
  1327. package/src/lib/components/InlineCode.tsx +1 -1
  1328. package/src/lib/components/LanguageIcon.tsx +181 -0
  1329. package/src/lib/components/Layout.tsx +10 -31
  1330. package/src/lib/components/Main.tsx +15 -14
  1331. package/src/lib/components/Markdown.tsx +43 -27
  1332. package/src/lib/components/Meta.tsx +45 -0
  1333. package/src/lib/components/MobileTopNavigation.tsx +72 -16
  1334. package/src/lib/components/NotFoundPage.tsx +6 -5
  1335. package/src/lib/components/PageProgress.tsx +28 -0
  1336. package/src/lib/components/Pagination.tsx +6 -11
  1337. package/src/lib/components/PathRenderer.tsx +2 -2
  1338. package/src/lib/components/Search.tsx +3 -3
  1339. package/src/lib/components/Slot.test.tsx +465 -0
  1340. package/src/lib/components/Slot.tsx +64 -0
  1341. package/src/lib/components/StatusPage.tsx +5 -0
  1342. package/src/lib/components/TopNavigation.tsx +81 -86
  1343. package/src/lib/components/Typography.tsx +14 -0
  1344. package/src/lib/components/Zudoku.tsx +15 -17
  1345. package/src/lib/components/cache.ts +9 -5
  1346. package/src/lib/components/context/ComponentsContext.tsx +2 -2
  1347. package/src/lib/components/context/RouterEventsEmitter.tsx +1 -1
  1348. package/src/lib/components/context/SlotProvider.tsx +149 -0
  1349. package/src/lib/components/context/ViewportAnchorContext.tsx +10 -17
  1350. package/src/lib/components/context/ZudokuContext.ts +77 -44
  1351. package/src/lib/components/context/ZudokuProvider.tsx +3 -2
  1352. package/src/lib/components/index.ts +18 -26
  1353. package/src/lib/components/navigation/Navigation.tsx +50 -0
  1354. package/src/lib/components/navigation/NavigationBadge.tsx +48 -0
  1355. package/src/lib/components/navigation/NavigationCategory.tsx +153 -0
  1356. package/src/lib/components/navigation/NavigationItem.tsx +148 -0
  1357. package/src/lib/components/navigation/NavigationWrapper.tsx +49 -0
  1358. package/src/lib/components/navigation/PoweredByZudoku.tsx +15 -5
  1359. package/src/lib/components/navigation/Toc.tsx +8 -8
  1360. package/src/lib/components/navigation/ZudokuLogo.tsx +1 -1
  1361. package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
  1362. package/src/lib/components/navigation/utils.ts +82 -42
  1363. package/src/lib/core/RouteGuard.tsx +52 -32
  1364. package/src/lib/core/ZudokuContext.ts +99 -30
  1365. package/src/lib/core/__internal.tsx +30 -0
  1366. package/src/lib/core/plugins.ts +13 -4
  1367. package/src/lib/core/router.ts +1 -0
  1368. package/src/lib/errors/ErrorAlert.tsx +8 -17
  1369. package/src/lib/errors/RouterError.tsx +7 -2
  1370. package/src/lib/errors/TopLevelError.tsx +2 -4
  1371. package/src/lib/hooks/index.ts +11 -0
  1372. package/src/lib/hooks/useEvent.test.tsx +9 -7
  1373. package/src/lib/hooks/useHotkey.ts +70 -0
  1374. package/src/lib/oas/graphql/circular.ts +28 -20
  1375. package/src/lib/oas/graphql/index.ts +39 -3
  1376. package/src/lib/oas/parser/dereference/index.ts +2 -1
  1377. package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
  1378. package/src/lib/oas/parser/index.ts +14 -3
  1379. package/src/lib/oas/parser/upgrade/index.ts +100 -29
  1380. package/src/lib/plugins/api-catalog/Catalog.tsx +9 -2
  1381. package/src/lib/plugins/api-catalog/index.tsx +19 -19
  1382. package/src/lib/plugins/api-keys/CreateApiKey.tsx +70 -44
  1383. package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
  1384. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  1385. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +441 -122
  1386. package/src/lib/plugins/api-keys/index.tsx +143 -65
  1387. package/src/lib/plugins/custom-pages/index.tsx +24 -16
  1388. package/src/lib/plugins/markdown/MdxPage.tsx +205 -33
  1389. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  1390. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  1391. package/src/lib/plugins/markdown/index.tsx +28 -43
  1392. package/src/lib/plugins/openapi/CollapsibleCode.tsx +12 -7
  1393. package/src/lib/plugins/openapi/ColorizedParam.tsx +5 -3
  1394. package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
  1395. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  1396. package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
  1397. package/src/lib/plugins/openapi/OasProvider.tsx +2 -1
  1398. package/src/lib/plugins/openapi/OperationList.tsx +68 -36
  1399. package/src/lib/plugins/openapi/OperationListItem.tsx +113 -105
  1400. package/src/lib/plugins/openapi/ParamInfos.tsx +14 -10
  1401. package/src/lib/plugins/openapi/ParameterList.tsx +40 -28
  1402. package/src/lib/plugins/openapi/ParameterListItem.tsx +128 -47
  1403. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +15 -14
  1404. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +51 -9
  1405. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +76 -41
  1406. package/src/lib/plugins/openapi/SchemaList.tsx +25 -19
  1407. package/src/lib/plugins/openapi/Sidecar.tsx +145 -132
  1408. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  1409. package/src/lib/plugins/openapi/SidecarExamples.tsx +99 -87
  1410. package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
  1411. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +1 -1
  1412. package/src/lib/plugins/openapi/client/createServer.ts +1 -2
  1413. package/src/lib/plugins/openapi/client/useCreateQuery.ts +24 -4
  1414. package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
  1415. package/src/lib/plugins/openapi/components/EnumValues.tsx +3 -3
  1416. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  1417. package/src/lib/plugins/openapi/components/ResponseContent.tsx +114 -0
  1418. package/src/lib/plugins/openapi/context.tsx +1 -1
  1419. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +1 -1
  1420. package/src/lib/plugins/openapi/graphql/gql.ts +11 -11
  1421. package/src/lib/plugins/openapi/graphql/graphql.ts +33 -9
  1422. package/src/lib/plugins/openapi/index.tsx +94 -62
  1423. package/src/lib/plugins/openapi/interfaces.ts +23 -7
  1424. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +271 -0
  1425. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -0
  1426. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +12 -4
  1427. package/src/lib/plugins/openapi/playground/Headers.tsx +158 -172
  1428. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +4 -3
  1429. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +20 -36
  1430. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +34 -2
  1431. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -35
  1432. package/src/lib/plugins/openapi/playground/Playground.tsx +327 -301
  1433. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +23 -32
  1434. package/src/lib/plugins/openapi/playground/QueryParams.tsx +92 -100
  1435. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  1436. package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -0
  1437. package/src/lib/plugins/openapi/playground/fileUtils.ts +32 -0
  1438. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  1439. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -0
  1440. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +25 -0
  1441. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  1442. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  1443. package/src/lib/plugins/openapi/playground/result-panel/Highlight.tsx +26 -0
  1444. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -0
  1445. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +228 -119
  1446. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +70 -91
  1447. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +1 -1
  1448. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -0
  1449. package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +30 -9
  1450. package/src/lib/plugins/openapi/processors/removeExtensions.ts +5 -3
  1451. package/src/lib/plugins/openapi/processors/removeParameters.test.ts +68 -33
  1452. package/src/lib/plugins/openapi/processors/removeParameters.ts +5 -3
  1453. package/src/lib/plugins/openapi/processors/removePaths.test.ts +85 -44
  1454. package/src/lib/plugins/openapi/processors/removePaths.ts +5 -3
  1455. package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
  1456. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +11 -8
  1457. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +114 -87
  1458. package/src/lib/plugins/openapi/schema/SchemaView.tsx +113 -64
  1459. package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -0
  1460. package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -0
  1461. package/src/lib/plugins/openapi/schema/utils.ts +24 -17
  1462. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +107 -0
  1463. package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -0
  1464. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +54 -5
  1465. package/src/lib/plugins/openapi/util/getRoutes.tsx +87 -15
  1466. package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
  1467. package/src/lib/plugins/redirect/index.tsx +1 -1
  1468. package/src/lib/plugins/search-inkeep/index.tsx +54 -58
  1469. package/src/lib/plugins/search-inkeep/inkeep.ts +19 -21
  1470. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +3 -4
  1471. package/src/lib/plugins/search-pagefind/ResultList.tsx +16 -8
  1472. package/src/lib/plugins/search-pagefind/get-results.tsx +0 -1
  1473. package/src/lib/shiki.ts +161 -0
  1474. package/src/lib/ui/ActionButton.tsx +3 -1
  1475. package/src/lib/ui/Alert.tsx +45 -39
  1476. package/src/lib/ui/Badge.tsx +22 -13
  1477. package/src/lib/ui/Breadcrumb.tsx +1 -0
  1478. package/src/lib/ui/Button.tsx +10 -6
  1479. package/src/lib/ui/Callout.tsx +12 -6
  1480. package/src/lib/ui/Card.tsx +1 -1
  1481. package/src/lib/ui/Checkbox.tsx +23 -24
  1482. package/src/lib/ui/CodeBlock.tsx +79 -0
  1483. package/src/lib/ui/Collapsible.tsx +26 -4
  1484. package/src/lib/ui/Command.tsx +6 -8
  1485. package/src/lib/ui/Dialog.tsx +114 -96
  1486. package/src/lib/ui/DropdownMenu.tsx +4 -4
  1487. package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -0
  1488. package/src/lib/ui/Form.tsx +4 -4
  1489. package/src/lib/ui/Frame.tsx +81 -0
  1490. package/src/lib/ui/HoverCard.tsx +1 -1
  1491. package/src/lib/ui/Input.tsx +1 -1
  1492. package/src/lib/ui/Item.tsx +192 -0
  1493. package/src/lib/ui/NativeSelect.tsx +47 -0
  1494. package/src/lib/ui/Pagination.tsx +1 -2
  1495. package/src/lib/ui/Popover.tsx +1 -1
  1496. package/src/lib/ui/RadioGroup.tsx +1 -1
  1497. package/src/lib/ui/ReactComponentDoc.tsx +68 -0
  1498. package/src/lib/ui/Secret.tsx +123 -0
  1499. package/src/lib/ui/Select.tsx +153 -126
  1500. package/src/lib/ui/Separator.tsx +25 -0
  1501. package/src/lib/ui/Slider.tsx +1 -1
  1502. package/src/lib/ui/Switch.tsx +1 -1
  1503. package/src/lib/ui/SyntaxHighlight.tsx +33 -179
  1504. package/src/lib/ui/Tabs.tsx +2 -2
  1505. package/src/lib/ui/Textarea.tsx +1 -1
  1506. package/src/lib/ui/Toggle.tsx +1 -1
  1507. package/src/lib/ui/ToggleGroup.tsx +1 -1
  1508. package/src/lib/ui/Tooltip.tsx +59 -22
  1509. package/src/lib/ui/Value.tsx +42 -0
  1510. package/src/lib/util/MdxComponents.tsx +49 -17
  1511. package/src/lib/util/cn.ts +1 -1
  1512. package/src/lib/util/createVariantComponent.tsx +33 -7
  1513. package/src/lib/util/ensureArray.ts +3 -0
  1514. package/src/lib/util/flattenAllOf.test.ts +637 -0
  1515. package/src/lib/util/flattenAllOf.ts +101 -0
  1516. package/src/lib/util/groupBy.ts +1 -0
  1517. package/src/lib/util/humanFileSize.test.ts +24 -0
  1518. package/src/lib/util/humanFileSize.ts +15 -0
  1519. package/src/lib/util/invariant.ts +8 -5
  1520. package/src/lib/util/os.ts +18 -0
  1521. package/src/lib/util/pastellize.ts +4 -4
  1522. package/src/lib/util/syncZustandState.ts +22 -0
  1523. package/src/lib/util/traverse.ts +44 -5
  1524. package/src/lib/util/types.ts +1 -1
  1525. package/src/lib/util/url.test.ts +51 -0
  1526. package/src/lib/util/url.ts +18 -0
  1527. package/src/lib/util/useCopyToClipboard.ts +17 -0
  1528. package/src/lib/util/useExposedProps.tsx +12 -1
  1529. package/src/lib/util/useIsomorphicLayoutEffect.ts +1 -0
  1530. package/src/lib/util/useScrollToAnchor.ts +6 -4
  1531. package/src/shiki/langs/abap.js +1 -0
  1532. package/src/shiki/langs/actionscript-3.js +1 -0
  1533. package/src/shiki/langs/ada.js +1 -0
  1534. package/src/shiki/langs/angular-expression.js +1 -0
  1535. package/src/shiki/langs/angular-html.js +1 -0
  1536. package/src/shiki/langs/angular-inline-style.js +1 -0
  1537. package/src/shiki/langs/angular-inline-template.js +1 -0
  1538. package/src/shiki/langs/angular-let-declaration.js +1 -0
  1539. package/src/shiki/langs/angular-template-blocks.js +1 -0
  1540. package/src/shiki/langs/angular-template.js +1 -0
  1541. package/src/shiki/langs/angular-ts.js +1 -0
  1542. package/src/shiki/langs/apache.js +1 -0
  1543. package/src/shiki/langs/apex.js +1 -0
  1544. package/src/shiki/langs/apl.js +1 -0
  1545. package/src/shiki/langs/applescript.js +1 -0
  1546. package/src/shiki/langs/ara.js +1 -0
  1547. package/src/shiki/langs/asciidoc.js +1 -0
  1548. package/src/shiki/langs/asm.js +1 -0
  1549. package/src/shiki/langs/astro.js +1 -0
  1550. package/src/shiki/langs/awk.js +1 -0
  1551. package/src/shiki/langs/ballerina.js +1 -0
  1552. package/src/shiki/langs/bat.js +1 -0
  1553. package/src/shiki/langs/beancount.js +1 -0
  1554. package/src/shiki/langs/berry.js +1 -0
  1555. package/src/shiki/langs/bibtex.js +1 -0
  1556. package/src/shiki/langs/bicep.js +1 -0
  1557. package/src/shiki/langs/blade.js +1 -0
  1558. package/src/shiki/langs/bsl.js +1 -0
  1559. package/src/shiki/langs/c.js +1 -0
  1560. package/src/shiki/langs/cadence.js +1 -0
  1561. package/src/shiki/langs/cairo.js +1 -0
  1562. package/src/shiki/langs/clarity.js +1 -0
  1563. package/src/shiki/langs/clojure.js +1 -0
  1564. package/src/shiki/langs/cmake.js +1 -0
  1565. package/src/shiki/langs/cobol.js +1 -0
  1566. package/src/shiki/langs/codeowners.js +1 -0
  1567. package/src/shiki/langs/codeql.js +1 -0
  1568. package/src/shiki/langs/coffee.js +1 -0
  1569. package/src/shiki/langs/common-lisp.js +1 -0
  1570. package/src/shiki/langs/coq.js +1 -0
  1571. package/src/shiki/langs/cpp-macro.js +1 -0
  1572. package/src/shiki/langs/cpp.js +1 -0
  1573. package/src/shiki/langs/crystal.js +1 -0
  1574. package/src/shiki/langs/csharp.js +1 -0
  1575. package/src/shiki/langs/css.js +1 -0
  1576. package/src/shiki/langs/csv.js +1 -0
  1577. package/src/shiki/langs/cue.js +1 -0
  1578. package/src/shiki/langs/cypher.js +1 -0
  1579. package/src/shiki/langs/d.js +1 -0
  1580. package/src/shiki/langs/dart.js +1 -0
  1581. package/src/shiki/langs/dax.js +1 -0
  1582. package/src/shiki/langs/desktop.js +1 -0
  1583. package/src/shiki/langs/diff.js +1 -0
  1584. package/src/shiki/langs/docker.js +1 -0
  1585. package/src/shiki/langs/dotenv.js +1 -0
  1586. package/src/shiki/langs/dream-maker.js +1 -0
  1587. package/src/shiki/langs/edge.js +1 -0
  1588. package/src/shiki/langs/elixir.js +1 -0
  1589. package/src/shiki/langs/elm.js +1 -0
  1590. package/src/shiki/langs/emacs-lisp.js +1 -0
  1591. package/src/shiki/langs/erb.js +1 -0
  1592. package/src/shiki/langs/erlang.js +1 -0
  1593. package/src/shiki/langs/es-tag-css.js +1 -0
  1594. package/src/shiki/langs/es-tag-glsl.js +1 -0
  1595. package/src/shiki/langs/es-tag-html.js +1 -0
  1596. package/src/shiki/langs/es-tag-sql.js +1 -0
  1597. package/src/shiki/langs/es-tag-xml.js +1 -0
  1598. package/src/shiki/langs/fennel.js +1 -0
  1599. package/src/shiki/langs/fish.js +1 -0
  1600. package/src/shiki/langs/fluent.js +1 -0
  1601. package/src/shiki/langs/fortran-fixed-form.js +1 -0
  1602. package/src/shiki/langs/fortran-free-form.js +1 -0
  1603. package/src/shiki/langs/fsharp.js +1 -0
  1604. package/src/shiki/langs/gdresource.js +1 -0
  1605. package/src/shiki/langs/gdscript.js +1 -0
  1606. package/src/shiki/langs/gdshader.js +1 -0
  1607. package/src/shiki/langs/genie.js +1 -0
  1608. package/src/shiki/langs/gherkin.js +1 -0
  1609. package/src/shiki/langs/git-commit.js +1 -0
  1610. package/src/shiki/langs/git-rebase.js +1 -0
  1611. package/src/shiki/langs/gleam.js +1 -0
  1612. package/src/shiki/langs/glimmer-js.js +1 -0
  1613. package/src/shiki/langs/glimmer-ts.js +1 -0
  1614. package/src/shiki/langs/glsl.js +1 -0
  1615. package/src/shiki/langs/gnuplot.js +1 -0
  1616. package/src/shiki/langs/go.js +1 -0
  1617. package/src/shiki/langs/graphql.js +1 -0
  1618. package/src/shiki/langs/groovy.js +1 -0
  1619. package/src/shiki/langs/hack.js +1 -0
  1620. package/src/shiki/langs/haml.js +1 -0
  1621. package/src/shiki/langs/handlebars.js +1 -0
  1622. package/src/shiki/langs/haskell.js +1 -0
  1623. package/src/shiki/langs/haxe.js +1 -0
  1624. package/src/shiki/langs/hcl.js +1 -0
  1625. package/src/shiki/langs/hjson.js +1 -0
  1626. package/src/shiki/langs/hlsl.js +1 -0
  1627. package/src/shiki/langs/html-derivative.js +1 -0
  1628. package/src/shiki/langs/html.js +1 -0
  1629. package/src/shiki/langs/http.js +1 -0
  1630. package/src/shiki/langs/hurl.js +1 -0
  1631. package/src/shiki/langs/hxml.js +1 -0
  1632. package/src/shiki/langs/hy.js +1 -0
  1633. package/src/shiki/langs/imba.js +1 -0
  1634. package/src/shiki/langs/ini.js +1 -0
  1635. package/src/shiki/langs/java.js +1 -0
  1636. package/src/shiki/langs/javascript.js +1 -0
  1637. package/src/shiki/langs/jinja-html.js +1 -0
  1638. package/src/shiki/langs/jinja.js +1 -0
  1639. package/src/shiki/langs/jison.js +1 -0
  1640. package/src/shiki/langs/json.js +1 -0
  1641. package/src/shiki/langs/json5.js +1 -0
  1642. package/src/shiki/langs/jsonc.js +1 -0
  1643. package/src/shiki/langs/jsonl.js +1 -0
  1644. package/src/shiki/langs/jsonnet.js +1 -0
  1645. package/src/shiki/langs/jssm.js +1 -0
  1646. package/src/shiki/langs/jsx.js +1 -0
  1647. package/src/shiki/langs/julia.js +1 -0
  1648. package/src/shiki/langs/kdl.js +1 -0
  1649. package/src/shiki/langs/kotlin.js +1 -0
  1650. package/src/shiki/langs/kusto.js +1 -0
  1651. package/src/shiki/langs/latex.js +1 -0
  1652. package/src/shiki/langs/lean.js +1 -0
  1653. package/src/shiki/langs/less.js +1 -0
  1654. package/src/shiki/langs/liquid.js +1 -0
  1655. package/src/shiki/langs/llvm.js +1 -0
  1656. package/src/shiki/langs/log.js +1 -0
  1657. package/src/shiki/langs/logo.js +1 -0
  1658. package/src/shiki/langs/lua.js +1 -0
  1659. package/src/shiki/langs/luau.js +1 -0
  1660. package/src/shiki/langs/make.js +1 -0
  1661. package/src/shiki/langs/markdown-vue.js +1 -0
  1662. package/src/shiki/langs/markdown.js +1 -0
  1663. package/src/shiki/langs/marko.js +1 -0
  1664. package/src/shiki/langs/matlab.js +1 -0
  1665. package/src/shiki/langs/mdc.js +1 -0
  1666. package/src/shiki/langs/mdx.js +1 -0
  1667. package/src/shiki/langs/mermaid.js +1 -0
  1668. package/src/shiki/langs/mipsasm.js +1 -0
  1669. package/src/shiki/langs/mojo.js +1 -0
  1670. package/src/shiki/langs/move.js +1 -0
  1671. package/src/shiki/langs/narrat.js +1 -0
  1672. package/src/shiki/langs/nextflow.js +1 -0
  1673. package/src/shiki/langs/nginx.js +1 -0
  1674. package/src/shiki/langs/nim.js +1 -0
  1675. package/src/shiki/langs/nix.js +1 -0
  1676. package/src/shiki/langs/nushell.js +1 -0
  1677. package/src/shiki/langs/objective-c.js +1 -0
  1678. package/src/shiki/langs/objective-cpp.js +1 -0
  1679. package/src/shiki/langs/ocaml.js +1 -0
  1680. package/src/shiki/langs/pascal.js +1 -0
  1681. package/src/shiki/langs/perl.js +1 -0
  1682. package/src/shiki/langs/php.js +1 -0
  1683. package/src/shiki/langs/pkl.js +1 -0
  1684. package/src/shiki/langs/plsql.js +1 -0
  1685. package/src/shiki/langs/po.js +1 -0
  1686. package/src/shiki/langs/polar.js +1 -0
  1687. package/src/shiki/langs/postcss.js +1 -0
  1688. package/src/shiki/langs/powerquery.js +1 -0
  1689. package/src/shiki/langs/powershell.js +1 -0
  1690. package/src/shiki/langs/prisma.js +1 -0
  1691. package/src/shiki/langs/prolog.js +1 -0
  1692. package/src/shiki/langs/proto.js +1 -0
  1693. package/src/shiki/langs/pug.js +1 -0
  1694. package/src/shiki/langs/puppet.js +1 -0
  1695. package/src/shiki/langs/purescript.js +1 -0
  1696. package/src/shiki/langs/python.js +1 -0
  1697. package/src/shiki/langs/qml.js +1 -0
  1698. package/src/shiki/langs/qmldir.js +1 -0
  1699. package/src/shiki/langs/qss.js +1 -0
  1700. package/src/shiki/langs/r.js +1 -0
  1701. package/src/shiki/langs/racket.js +1 -0
  1702. package/src/shiki/langs/raku.js +1 -0
  1703. package/src/shiki/langs/razor.js +1 -0
  1704. package/src/shiki/langs/reg.js +1 -0
  1705. package/src/shiki/langs/regexp.js +1 -0
  1706. package/src/shiki/langs/rel.js +1 -0
  1707. package/src/shiki/langs/riscv.js +1 -0
  1708. package/src/shiki/langs/rosmsg.js +1 -0
  1709. package/src/shiki/langs/rst.js +1 -0
  1710. package/src/shiki/langs/ruby.js +1 -0
  1711. package/src/shiki/langs/rust.js +1 -0
  1712. package/src/shiki/langs/sas.js +1 -0
  1713. package/src/shiki/langs/sass.js +1 -0
  1714. package/src/shiki/langs/scala.js +1 -0
  1715. package/src/shiki/langs/scheme.js +1 -0
  1716. package/src/shiki/langs/scss.js +1 -0
  1717. package/src/shiki/langs/sdbl.js +1 -0
  1718. package/src/shiki/langs/shaderlab.js +1 -0
  1719. package/src/shiki/langs/shellscript.js +1 -0
  1720. package/src/shiki/langs/shellsession.js +1 -0
  1721. package/src/shiki/langs/smalltalk.js +1 -0
  1722. package/src/shiki/langs/solidity.js +1 -0
  1723. package/src/shiki/langs/soy.js +1 -0
  1724. package/src/shiki/langs/sparql.js +1 -0
  1725. package/src/shiki/langs/splunk.js +1 -0
  1726. package/src/shiki/langs/sql.js +1 -0
  1727. package/src/shiki/langs/ssh-config.js +1 -0
  1728. package/src/shiki/langs/stata.js +1 -0
  1729. package/src/shiki/langs/stylus.js +1 -0
  1730. package/src/shiki/langs/svelte.js +1 -0
  1731. package/src/shiki/langs/swift.js +1 -0
  1732. package/src/shiki/langs/system-verilog.js +1 -0
  1733. package/src/shiki/langs/systemd.js +1 -0
  1734. package/src/shiki/langs/talonscript.js +1 -0
  1735. package/src/shiki/langs/tasl.js +1 -0
  1736. package/src/shiki/langs/tcl.js +1 -0
  1737. package/src/shiki/langs/templ.js +1 -0
  1738. package/src/shiki/langs/terraform.js +1 -0
  1739. package/src/shiki/langs/tex.js +1 -0
  1740. package/src/shiki/langs/toml.js +1 -0
  1741. package/src/shiki/langs/ts-tags.js +1 -0
  1742. package/src/shiki/langs/tsv.js +1 -0
  1743. package/src/shiki/langs/tsx.js +1 -0
  1744. package/src/shiki/langs/turtle.js +1 -0
  1745. package/src/shiki/langs/twig.js +1 -0
  1746. package/src/shiki/langs/typescript.js +1 -0
  1747. package/src/shiki/langs/typespec.js +1 -0
  1748. package/src/shiki/langs/typst.js +1 -0
  1749. package/src/shiki/langs/v.js +1 -0
  1750. package/src/shiki/langs/vala.js +1 -0
  1751. package/src/shiki/langs/vb.js +1 -0
  1752. package/src/shiki/langs/verilog.js +1 -0
  1753. package/src/shiki/langs/vhdl.js +1 -0
  1754. package/src/shiki/langs/viml.js +1 -0
  1755. package/src/shiki/langs/vue-directives.js +1 -0
  1756. package/src/shiki/langs/vue-html.js +1 -0
  1757. package/src/shiki/langs/vue-interpolations.js +1 -0
  1758. package/src/shiki/langs/vue-sfc-style-variable-injection.js +1 -0
  1759. package/src/shiki/langs/vue-vine.js +1 -0
  1760. package/src/shiki/langs/vue.js +1 -0
  1761. package/src/shiki/langs/vyper.js +1 -0
  1762. package/src/shiki/langs/wasm.js +1 -0
  1763. package/src/shiki/langs/wenyan.js +1 -0
  1764. package/src/shiki/langs/wgsl.js +1 -0
  1765. package/src/shiki/langs/wikitext.js +1 -0
  1766. package/src/shiki/langs/wit.js +1 -0
  1767. package/src/shiki/langs/wolfram.js +1 -0
  1768. package/src/shiki/langs/xml.js +1 -0
  1769. package/src/shiki/langs/xsl.js +1 -0
  1770. package/src/shiki/langs/yaml.js +1 -0
  1771. package/src/shiki/langs/zenscript.js +1 -0
  1772. package/src/shiki/langs/zig.js +1 -0
  1773. package/src/shiki/themes/andromeeda.js +1 -0
  1774. package/src/shiki/themes/aurora-x.js +1 -0
  1775. package/src/shiki/themes/ayu-dark.js +1 -0
  1776. package/src/shiki/themes/catppuccin-frappe.js +1 -0
  1777. package/src/shiki/themes/catppuccin-latte.js +1 -0
  1778. package/src/shiki/themes/catppuccin-macchiato.js +1 -0
  1779. package/src/shiki/themes/catppuccin-mocha.js +1 -0
  1780. package/src/shiki/themes/dark-plus.js +1 -0
  1781. package/src/shiki/themes/dracula-soft.js +1 -0
  1782. package/src/shiki/themes/dracula.js +1 -0
  1783. package/src/shiki/themes/everforest-dark.js +1 -0
  1784. package/src/shiki/themes/everforest-light.js +1 -0
  1785. package/src/shiki/themes/github-dark-default.js +1 -0
  1786. package/src/shiki/themes/github-dark-dimmed.js +1 -0
  1787. package/src/shiki/themes/github-dark-high-contrast.js +1 -0
  1788. package/src/shiki/themes/github-dark.js +1 -0
  1789. package/src/shiki/themes/github-light-default.js +1 -0
  1790. package/src/shiki/themes/github-light-high-contrast.js +1 -0
  1791. package/src/shiki/themes/github-light.js +1 -0
  1792. package/src/shiki/themes/gruvbox-dark-hard.js +1 -0
  1793. package/src/shiki/themes/gruvbox-dark-medium.js +1 -0
  1794. package/src/shiki/themes/gruvbox-dark-soft.js +1 -0
  1795. package/src/shiki/themes/gruvbox-light-hard.js +1 -0
  1796. package/src/shiki/themes/gruvbox-light-medium.js +1 -0
  1797. package/src/shiki/themes/gruvbox-light-soft.js +1 -0
  1798. package/src/shiki/themes/houston.js +1 -0
  1799. package/src/shiki/themes/kanagawa-dragon.js +1 -0
  1800. package/src/shiki/themes/kanagawa-lotus.js +1 -0
  1801. package/src/shiki/themes/kanagawa-wave.js +1 -0
  1802. package/src/shiki/themes/laserwave.js +1 -0
  1803. package/src/shiki/themes/light-plus.js +1 -0
  1804. package/src/shiki/themes/material-theme-darker.js +1 -0
  1805. package/src/shiki/themes/material-theme-lighter.js +1 -0
  1806. package/src/shiki/themes/material-theme-ocean.js +1 -0
  1807. package/src/shiki/themes/material-theme-palenight.js +1 -0
  1808. package/src/shiki/themes/material-theme.js +1 -0
  1809. package/src/shiki/themes/min-dark.js +1 -0
  1810. package/src/shiki/themes/min-light.js +1 -0
  1811. package/src/shiki/themes/monokai.js +1 -0
  1812. package/src/shiki/themes/night-owl.js +1 -0
  1813. package/src/shiki/themes/nord.js +1 -0
  1814. package/src/shiki/themes/one-dark-pro.js +1 -0
  1815. package/src/shiki/themes/one-light.js +1 -0
  1816. package/src/shiki/themes/plastic.js +1 -0
  1817. package/src/shiki/themes/poimandres.js +1 -0
  1818. package/src/shiki/themes/red.js +1 -0
  1819. package/src/shiki/themes/rose-pine-dawn.js +1 -0
  1820. package/src/shiki/themes/rose-pine-moon.js +1 -0
  1821. package/src/shiki/themes/rose-pine.js +1 -0
  1822. package/src/shiki/themes/slack-dark.js +1 -0
  1823. package/src/shiki/themes/slack-ochin.js +1 -0
  1824. package/src/shiki/themes/snazzy-light.js +1 -0
  1825. package/src/shiki/themes/solarized-dark.js +1 -0
  1826. package/src/shiki/themes/solarized-light.js +1 -0
  1827. package/src/shiki/themes/synthwave-84.js +1 -0
  1828. package/src/shiki/themes/tokyo-night.js +1 -0
  1829. package/src/shiki/themes/vesper.js +1 -0
  1830. package/src/shiki/themes/vitesse-black.js +1 -0
  1831. package/src/shiki/themes/vitesse-dark.js +1 -0
  1832. package/src/shiki/themes/vitesse-light.js +1 -0
  1833. package/dist/app/tailwind.d.ts +0 -4
  1834. package/dist/app/tailwind.js +0 -97
  1835. package/dist/app/tailwind.js.map +0 -1
  1836. package/dist/config/common.d.ts +0 -10
  1837. package/dist/config/common.js +0 -2
  1838. package/dist/config/common.js.map +0 -1
  1839. package/dist/config/validators/InputSidebarSchema.d.ts +0 -217
  1840. package/dist/config/validators/InputSidebarSchema.js +0 -62
  1841. package/dist/config/validators/InputSidebarSchema.js.map +0 -1
  1842. package/dist/config/validators/SidebarSchema.d.ts +0 -46
  1843. package/dist/config/validators/SidebarSchema.js +0 -118
  1844. package/dist/config/validators/SidebarSchema.js.map +0 -1
  1845. package/dist/config/validators/common.d.ts +0 -7670
  1846. package/dist/config/validators/common.js +0 -402
  1847. package/dist/config/validators/common.js.map +0 -1
  1848. package/dist/lib/components/ReactMarkdown.d.ts +0 -29
  1849. package/dist/lib/components/ReactMarkdown.js +0 -182
  1850. package/dist/lib/components/ReactMarkdown.js.map +0 -1
  1851. package/dist/lib/components/SlotletProvider.d.ts +0 -17
  1852. package/dist/lib/components/SlotletProvider.js +0 -18
  1853. package/dist/lib/components/SlotletProvider.js.map +0 -1
  1854. package/dist/lib/components/navigation/Sidebar.d.ts +0 -5
  1855. package/dist/lib/components/navigation/Sidebar.js +0 -10
  1856. package/dist/lib/components/navigation/Sidebar.js.map +0 -1
  1857. package/dist/lib/components/navigation/SidebarBadge.d.ts +0 -26
  1858. package/dist/lib/components/navigation/SidebarBadge.js +0 -26
  1859. package/dist/lib/components/navigation/SidebarBadge.js.map +0 -1
  1860. package/dist/lib/components/navigation/SidebarCategory.d.ts +0 -5
  1861. package/dist/lib/components/navigation/SidebarCategory.js +0 -55
  1862. package/dist/lib/components/navigation/SidebarCategory.js.map +0 -1
  1863. package/dist/lib/components/navigation/SidebarItem.d.ts +0 -11
  1864. package/dist/lib/components/navigation/SidebarItem.js +0 -50
  1865. package/dist/lib/components/navigation/SidebarItem.js.map +0 -1
  1866. package/dist/lib/components/navigation/SidebarWrapper.d.ts +0 -7
  1867. package/dist/lib/components/navigation/SidebarWrapper.js +0 -21
  1868. package/dist/lib/components/navigation/SidebarWrapper.js.map +0 -1
  1869. package/dist/lib/plugins/custom-pages/CustomPage.d.ts +0 -2
  1870. package/dist/lib/plugins/custom-pages/CustomPage.js +0 -11
  1871. package/dist/lib/plugins/custom-pages/CustomPage.js.map +0 -1
  1872. package/dist/lib/plugins/markdown/resolver.d.ts +0 -32
  1873. package/dist/lib/plugins/markdown/resolver.js +0 -46
  1874. package/dist/lib/plugins/markdown/resolver.js.map +0 -1
  1875. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  1876. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  1877. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  1878. package/dist/lib/plugins/openapi/playground/SubmitButton.d.ts +0 -7
  1879. package/dist/lib/plugins/openapi/playground/SubmitButton.js +0 -22
  1880. package/dist/lib/plugins/openapi/playground/SubmitButton.js.map +0 -1
  1881. package/dist/lib/plugins/openapi/playground/UrlDisplay.d.ts +0 -4
  1882. package/dist/lib/plugins/openapi/playground/UrlDisplay.js +0 -22
  1883. package/dist/lib/plugins/openapi/playground/UrlDisplay.js.map +0 -1
  1884. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.d.ts +0 -7
  1885. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +0 -11
  1886. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +0 -1
  1887. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +0 -8
  1888. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +0 -14
  1889. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +0 -1
  1890. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +0 -7
  1891. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +0 -17
  1892. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +0 -1
  1893. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -6
  1894. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +0 -10
  1895. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +0 -1
  1896. package/dist/lib/plugins/openapi/util/createSidebarCategory.d.ts +0 -9
  1897. package/dist/lib/plugins/openapi/util/createSidebarCategory.js +0 -23
  1898. package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +0 -1
  1899. package/dist/vite/plugin-docs.test.js +0 -22
  1900. package/dist/vite/plugin-docs.test.js.map +0 -1
  1901. package/dist/vite/plugin-sidebar.d.ts +0 -3
  1902. package/dist/vite/plugin-sidebar.js +0 -56
  1903. package/dist/vite/plugin-sidebar.js.map +0 -1
  1904. package/dist/vite/plugin-theme-css.d.ts +0 -6
  1905. package/dist/vite/plugin-theme-css.js +0 -117
  1906. package/dist/vite/plugin-theme-css.js.map +0 -1
  1907. package/dist/vite/remarkStaticGeneration.d.ts +0 -3
  1908. package/dist/vite/remarkStaticGeneration.js +0 -125
  1909. package/dist/vite/remarkStaticGeneration.js.map +0 -1
  1910. package/dist/zuplo/env.d.ts +0 -7
  1911. package/dist/zuplo/env.js +0 -12
  1912. package/dist/zuplo/env.js.map +0 -1
  1913. package/lib/AuthenticationPlugin-foqdvvkf.js +0 -58
  1914. package/lib/AuthenticationPlugin-foqdvvkf.js.map +0 -1
  1915. package/lib/Button-Fp19CMUr.js +0 -49
  1916. package/lib/Button-Fp19CMUr.js.map +0 -1
  1917. package/lib/Callout-Boqdgl-z.js +0 -230
  1918. package/lib/Callout-Boqdgl-z.js.map +0 -1
  1919. package/lib/CategoryHeading-DpB47wvk.js +0 -10
  1920. package/lib/CategoryHeading-DpB47wvk.js.map +0 -1
  1921. package/lib/Dialog-sbgekbjb.js +0 -98
  1922. package/lib/Dialog-sbgekbjb.js.map +0 -1
  1923. package/lib/Drawer-kDAfOq_2.js +0 -1133
  1924. package/lib/Drawer-kDAfOq_2.js.map +0 -1
  1925. package/lib/Markdown-CKXePgqR.js +0 -16962
  1926. package/lib/Markdown-CKXePgqR.js.map +0 -1
  1927. package/lib/MdxPage-DzpRK-fu.js +0 -85
  1928. package/lib/MdxPage-DzpRK-fu.js.map +0 -1
  1929. package/lib/OasProvider-Dw2mP5VZ.js +0 -34
  1930. package/lib/OasProvider-Dw2mP5VZ.js.map +0 -1
  1931. package/lib/OperationList-Cr_NA4e2.js +0 -5069
  1932. package/lib/OperationList-Cr_NA4e2.js.map +0 -1
  1933. package/lib/Pagination-DT6eKg_U.js +0 -48
  1934. package/lib/Pagination-DT6eKg_U.js.map +0 -1
  1935. package/lib/RouteGuard-CqZPoZYJ.js +0 -744
  1936. package/lib/RouteGuard-CqZPoZYJ.js.map +0 -1
  1937. package/lib/SchemaList-DNvUJgwI.js +0 -148
  1938. package/lib/SchemaList-DNvUJgwI.js.map +0 -1
  1939. package/lib/SchemaView-Cxh_msLc.js +0 -357
  1940. package/lib/SchemaView-Cxh_msLc.js.map +0 -1
  1941. package/lib/Select-DVFRKf1R.js +0 -223
  1942. package/lib/Select-DVFRKf1R.js.map +0 -1
  1943. package/lib/SlotletProvider-BV1xrg-l.js +0 -338
  1944. package/lib/SlotletProvider-BV1xrg-l.js.map +0 -1
  1945. package/lib/Spinner-CE68iCm0.js +0 -7
  1946. package/lib/Spinner-CE68iCm0.js.map +0 -1
  1947. package/lib/SyntaxHighlight-BEoSoPEo.js +0 -2890
  1948. package/lib/SyntaxHighlight-BEoSoPEo.js.map +0 -1
  1949. package/lib/Toc-D40bDl5J.js +0 -92
  1950. package/lib/Toc-D40bDl5J.js.map +0 -1
  1951. package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
  1952. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  1953. package/lib/chunk-HA7DTUK3-C4gP41vD.js +0 -1821
  1954. package/lib/chunk-HA7DTUK3-C4gP41vD.js.map +0 -1
  1955. package/lib/circular-ByJI6Mci.js +0 -15877
  1956. package/lib/circular-ByJI6Mci.js.map +0 -1
  1957. package/lib/cn-qaFjX9_3.js +0 -2279
  1958. package/lib/cn-qaFjX9_3.js.map +0 -1
  1959. package/lib/context-DLCwaMXN.js +0 -22
  1960. package/lib/context-DLCwaMXN.js.map +0 -1
  1961. package/lib/createServer-Cq73y9Kv.js +0 -12454
  1962. package/lib/createServer-Cq73y9Kv.js.map +0 -1
  1963. package/lib/hook-CqpVYDqN.js +0 -1483
  1964. package/lib/hook-CqpVYDqN.js.map +0 -1
  1965. package/lib/index-Bn6Lc9tq.js +0 -9
  1966. package/lib/index-Bn6Lc9tq.js.map +0 -1
  1967. package/lib/index-CN3TIw7H.js +0 -2009
  1968. package/lib/index-CN3TIw7H.js.map +0 -1
  1969. package/lib/index-CPNSgwSb.js +0 -36
  1970. package/lib/index-CPNSgwSb.js.map +0 -1
  1971. package/lib/index-Dl3Yl0yb.js +0 -4837
  1972. package/lib/index-Dl3Yl0yb.js.map +0 -1
  1973. package/lib/index-DwT-v3zK.js +0 -86
  1974. package/lib/index-DwT-v3zK.js.map +0 -1
  1975. package/lib/index-LNp6rxyU.js +0 -2094
  1976. package/lib/index-LNp6rxyU.js.map +0 -1
  1977. package/lib/index-dQecW8K5.js +0 -2227
  1978. package/lib/index-dQecW8K5.js.map +0 -1
  1979. package/lib/index-gQD2h1wX.js +0 -447
  1980. package/lib/index-gQD2h1wX.js.map +0 -1
  1981. package/lib/index.esm--gIChbWs.js +0 -1207
  1982. package/lib/index.esm--gIChbWs.js.map +0 -1
  1983. package/lib/invariant-Caa8-XvF.js +0 -26
  1984. package/lib/invariant-Caa8-XvF.js.map +0 -1
  1985. package/lib/jsx-runtime-CYK1ROHF.js +0 -446
  1986. package/lib/jsx-runtime-CYK1ROHF.js.map +0 -1
  1987. package/lib/mutation-8LjrN7uz.js +0 -208
  1988. package/lib/mutation-8LjrN7uz.js.map +0 -1
  1989. package/lib/objectEntries-yMIkr2mI.js +0 -5
  1990. package/lib/objectEntries-yMIkr2mI.js.map +0 -1
  1991. package/lib/prism-bash.min-HHIMdNJ_.js +0 -7
  1992. package/lib/prism-bash.min-HHIMdNJ_.js.map +0 -1
  1993. package/lib/prism-csharp.min-bQAo2pmx.js +0 -63
  1994. package/lib/prism-csharp.min-bQAo2pmx.js.map +0 -1
  1995. package/lib/prism-java.min-BpvsOuIa.js +0 -35
  1996. package/lib/prism-java.min-BpvsOuIa.js.map +0 -1
  1997. package/lib/prism-javascript.min-CEqHqgbm.js +0 -9
  1998. package/lib/prism-javascript.min-CEqHqgbm.js.map +0 -1
  1999. package/lib/prism-json.min-B1GJqK1k.js +0 -2
  2000. package/lib/prism-json.min-B1GJqK1k.js.map +0 -1
  2001. package/lib/prism-jsstacktrace.min-BfobCF2F.js +0 -2
  2002. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +0 -1
  2003. package/lib/prism-markdown.min-C0Qn0m-5.js +0 -61
  2004. package/lib/prism-markdown.min-C0Qn0m-5.js.map +0 -1
  2005. package/lib/prism-markup-BNGj0Tvm.js +0 -174
  2006. package/lib/prism-markup-BNGj0Tvm.js.map +0 -1
  2007. package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
  2008. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +0 -1
  2009. package/lib/prism-ruby.min-Dx9KO9ds.js +0 -38
  2010. package/lib/prism-ruby.min-Dx9KO9ds.js.map +0 -1
  2011. package/lib/prism-typescript.min-CD7H2IYQ.js +0 -34
  2012. package/lib/prism-typescript.min-CD7H2IYQ.js.map +0 -1
  2013. package/lib/useExposedProps-B9qXJedG.js +0 -9
  2014. package/lib/useExposedProps-B9qXJedG.js.map +0 -1
  2015. package/src/app/tailwind.ts +0 -103
  2016. package/src/lib/components/ReactMarkdown.license.txt +0 -21
  2017. package/src/lib/components/ReactMarkdown.tsx +0 -264
  2018. package/src/lib/components/SlotletProvider.tsx +0 -55
  2019. package/src/lib/components/navigation/Sidebar.tsx +0 -48
  2020. package/src/lib/components/navigation/SidebarBadge.tsx +0 -48
  2021. package/src/lib/components/navigation/SidebarCategory.tsx +0 -140
  2022. package/src/lib/components/navigation/SidebarItem.tsx +0 -118
  2023. package/src/lib/components/navigation/SidebarWrapper.tsx +0 -46
  2024. package/src/lib/plugins/custom-pages/CustomPage.tsx +0 -18
  2025. package/src/lib/plugins/markdown/resolver.ts +0 -57
  2026. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  2027. package/src/lib/plugins/openapi/playground/SubmitButton.tsx +0 -75
  2028. package/src/lib/plugins/openapi/playground/UrlDisplay.tsx +0 -32
  2029. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +0 -73
  2030. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +0 -40
  2031. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +0 -57
  2032. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +0 -33
  2033. package/src/lib/plugins/openapi/util/createSidebarCategory.tsx +0 -37
  2034. /package/dist/{vite/plugin-docs.test.d.ts → config/validators/InputNavigationSchema.test-d.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-dQecW8K5.js","sources":["../src/lib/plugins/openapi/client/GraphQLClient.tsx","../src/lib/plugins/openapi/graphql/graphql.ts","../src/lib/plugins/openapi/graphql/gql.ts","../src/lib/ui/Alert.tsx","../src/lib/components/PathRenderer.tsx","../src/lib/ui/Textarea.tsx","../src/lib/util/pastellize.ts","../src/lib/plugins/openapi/ColorizedParam.tsx","../src/lib/plugins/openapi/state.ts","../src/lib/plugins/openapi/playground/createUrl.ts","../src/lib/ui/DropdownMenu.tsx","../src/lib/plugins/openapi/playground/ExamplesDropdown.tsx","../src/lib/ui/Card.tsx","../src/lib/ui/Checkbox.tsx","../src/lib/ui/Popover.tsx","../src/lib/components/Autocomplete.tsx","../src/lib/util/createVariantComponent.tsx","../src/lib/plugins/openapi/playground/ParamsGrid.tsx","../src/lib/plugins/openapi/playground/Headers.tsx","../src/lib/ui/Label.tsx","../src/lib/ui/RadioGroup.tsx","../src/lib/plugins/openapi/playground/IdentitySelector.tsx","../src/lib/plugins/openapi/playground/IdentityDialog.tsx","../src/lib/plugins/openapi/playground/PathParams.tsx","../src/lib/plugins/openapi/playground/InlineInput.tsx","../src/lib/plugins/openapi/playground/QueryParams.tsx","../src/lib/plugins/openapi/playground/rememberedIdentity.ts","../src/lib/plugins/openapi/playground/RequestLoginDialog.tsx","../src/lib/plugins/openapi/util/methodToColor.ts","../src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx","../src/lib/ui/Collapsible.tsx","../src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts","../src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx","../src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx","../src/lib/plugins/openapi/playground/SubmitButton.tsx","../src/lib/plugins/openapi/playground/Playground.tsx","../src/lib/plugins/openapi/playground/PlaygroundDialog.tsx","../src/lib/plugins/openapi/util/methodColorMap.tsx","../src/lib/plugins/openapi/util/createSidebarCategory.tsx","../src/lib/plugins/openapi/util/getRoutes.tsx","../src/lib/plugins/openapi/index.tsx"],"sourcesContent":["import type { GraphQLError } from \"graphql/error/index.js\";\nimport { ZudokuError } from \"../../../util/invariant.js\";\nimport type { TypedDocumentString } from \"../graphql/graphql.js\";\nimport type { OpenApiPluginOptions } from \"../index.js\";\nimport type { LocalServer } from \"./createServer.js\";\n\nlet localServerPromise: Promise<LocalServer> | undefined;\n\ntype GraphQLResponse<TResult> = {\n errors?: GraphQLError[];\n data: TResult;\n};\n\nconst throwIfError = (response: GraphQLResponse<unknown>) => {\n if (!response.errors?.[0]) return;\n\n throw new ZudokuError(response.errors[0].message, {\n developerHint:\n \"Check your configuration value `apis.type` and `apis.input` in the Zudoku config.\",\n });\n};\n\nexport class GraphQLClient {\n constructor(private readonly config: OpenApiPluginOptions) {}\n\n #getLocalServer = async () => {\n if (!localServerPromise) {\n localServerPromise = import(\"./createServer.js\").then((m) =>\n m.createServer(this.config),\n );\n }\n return localServerPromise;\n };\n\n #executeFetch = async (init: RequestInit): Promise<Response> => {\n if (this.config.server) {\n return fetch(this.config.server, init);\n }\n\n const localServer = await this.#getLocalServer();\n return localServer.fetch(\"http://localhost/graphql\", init);\n };\n\n fetch = async <TResult, TVariables>(\n query: TypedDocumentString<TResult, TVariables>,\n variables?: TVariables,\n ): Promise<TResult> => {\n const operationName = query.match(/query (\\w+)/)?.[1];\n\n const response = await this.#executeFetch({\n method: \"POST\",\n body: JSON.stringify({ query, variables, operationName }),\n headers: { \"Content-Type\": \"application/json\" },\n });\n\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n\n const result = (await response.json()) as GraphQLResponse<TResult>;\n throwIfError(result);\n\n return result.data;\n };\n}\n","/* eslint-disable */\nimport type { DocumentTypeDecoration } from \"@graphql-typed-document-node/core\";\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends \" $fragmentName\" | \"__typename\" ? T[P] : never;\n };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSON: { input: any; output: any };\n /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSONObject: { input: any; output: any };\n /** OpenAPI schema scalar type that handles circular references */\n JSONSchema: { input: any; output: any };\n};\n\nexport type Components = {\n __typename?: \"Components\";\n schemas?: Maybe<Array<SchemaItem>>;\n};\n\nexport type EncodingItem = {\n __typename?: \"EncodingItem\";\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n contentType?: Maybe<Scalars[\"String\"][\"output\"]>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n headers?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type ExampleItem = {\n __typename?: \"ExampleItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n externalValue?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n value?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n};\n\nexport type MediaTypeObject = {\n __typename?: \"MediaTypeObject\";\n encoding?: Maybe<Array<EncodingItem>>;\n examples?: Maybe<Array<ExampleItem>>;\n mediaType: Scalars[\"String\"][\"output\"];\n schema?: Maybe<Scalars[\"JSONSchema\"][\"output\"]>;\n};\n\nexport type OperationItem = {\n __typename?: \"OperationItem\";\n contentTypes: Array<Scalars[\"String\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n method: Scalars[\"String\"][\"output\"];\n operationId?: Maybe<Scalars[\"String\"][\"output\"]>;\n parameters?: Maybe<Array<ParameterItem>>;\n path: Scalars[\"String\"][\"output\"];\n requestBody?: Maybe<RequestBodyObject>;\n responses: Array<ResponseItem>;\n slug: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n tags?: Maybe<Array<TagItem>>;\n};\n\nexport type ParameterIn = \"cookie\" | \"header\" | \"path\" | \"query\";\n\nexport type ParameterItem = {\n __typename?: \"ParameterItem\";\n allowEmptyValue?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n examples?: Maybe<Array<ExampleItem>>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n in: ParameterIn;\n name: Scalars[\"String\"][\"output\"];\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n schema?: Maybe<Scalars[\"JSONSchema\"][\"output\"]>;\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type PathItem = {\n __typename?: \"PathItem\";\n methods: Array<Scalars[\"String\"][\"output\"]>;\n path: Scalars[\"String\"][\"output\"];\n};\n\nexport type Query = {\n __typename?: \"Query\";\n schema: Schema;\n};\n\nexport type QuerySchemaArgs = {\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n};\n\nexport type RequestBodyObject = {\n __typename?: \"RequestBodyObject\";\n content?: Maybe<Array<MediaTypeObject>>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n};\n\nexport type ResponseItem = {\n __typename?: \"ResponseItem\";\n content?: Maybe<Array<MediaTypeObject>>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n headers?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n links?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n statusCode: Scalars[\"String\"][\"output\"];\n};\n\nexport type Schema = {\n __typename?: \"Schema\";\n components?: Maybe<Components>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n openapi: Scalars[\"String\"][\"output\"];\n operations: Array<OperationItem>;\n paths: Array<PathItem>;\n servers: Array<Server>;\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n tag?: Maybe<SchemaTag>;\n tags: Array<SchemaTag>;\n title: Scalars[\"String\"][\"output\"];\n url?: Maybe<Scalars[\"String\"][\"output\"]>;\n version: Scalars[\"String\"][\"output\"];\n};\n\nexport type SchemaOperationsArgs = {\n method?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n operationId?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n path?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n tag?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n untagged?: InputMaybe<Scalars[\"Boolean\"][\"input\"]>;\n};\n\nexport type SchemaTagArgs = {\n name?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n slug?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n untagged?: InputMaybe<Scalars[\"Boolean\"][\"input\"]>;\n};\n\nexport type SchemaItem = {\n __typename?: \"SchemaItem\";\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n schema: Scalars[\"JSONSchema\"][\"output\"];\n};\n\nexport type SchemaTag = {\n __typename?: \"SchemaTag\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n isUntagged: Scalars[\"Boolean\"][\"output\"];\n name?: Maybe<Scalars[\"String\"][\"output\"]>;\n next?: Maybe<SchemaTag>;\n operations: Array<OperationItem>;\n prev?: Maybe<SchemaTag>;\n slug?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type SchemaType = \"file\" | \"raw\" | \"url\";\n\nexport type Server = {\n __typename?: \"Server\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n url: Scalars[\"String\"][\"output\"];\n};\n\nexport type TagItem = {\n __typename?: \"TagItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n extensions?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n};\n\nexport type ServersQueryQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type ServersQueryQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n url?: string | null;\n servers: Array<{ __typename?: \"Server\"; url: string }>;\n };\n};\n\nexport type OperationsFragmentFragment = {\n __typename?: \"OperationItem\";\n slug: string;\n summary?: string | null;\n method: string;\n description?: string | null;\n operationId?: string | null;\n contentTypes: Array<string>;\n path: string;\n deprecated?: boolean | null;\n extensions?: any | null;\n parameters?: Array<{\n __typename?: \"ParameterItem\";\n name: string;\n in: ParameterIn;\n description?: string | null;\n required?: boolean | null;\n schema?: any | null;\n style?: string | null;\n explode?: boolean | null;\n examples?: Array<{\n __typename?: \"ExampleItem\";\n name: string;\n description?: string | null;\n externalValue?: string | null;\n value?: any | null;\n summary?: string | null;\n }> | null;\n }> | null;\n requestBody?: {\n __typename?: \"RequestBodyObject\";\n description?: string | null;\n required?: boolean | null;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema?: any | null;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n examples?: Array<{\n __typename?: \"ExampleItem\";\n name: string;\n description?: string | null;\n externalValue?: string | null;\n value?: any | null;\n summary?: string | null;\n }> | null;\n }> | null;\n } | null;\n responses: Array<{\n __typename?: \"ResponseItem\";\n statusCode: string;\n links?: any | null;\n description?: string | null;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema?: any | null;\n examples?: Array<{\n __typename?: \"ExampleItem\";\n name: string;\n description?: string | null;\n externalValue?: string | null;\n value?: any | null;\n summary?: string | null;\n }> | null;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n }>;\n} & { \" $fragmentName\"?: \"OperationsFragmentFragment\" };\n\nexport type SchemaWarmupQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type SchemaWarmupQuery = {\n __typename?: \"Query\";\n schema: { __typename?: \"Schema\"; openapi: string };\n};\n\nexport type OperationsForTagQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n tag?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n untagged?: InputMaybe<Scalars[\"Boolean\"][\"input\"]>;\n}>;\n\nexport type OperationsForTagQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n description?: string | null;\n summary?: string | null;\n title: string;\n url?: string | null;\n version: string;\n servers: Array<{ __typename?: \"Server\"; url: string }>;\n tag?: {\n __typename?: \"SchemaTag\";\n name?: string | null;\n description?: string | null;\n operations: Array<\n { __typename?: \"OperationItem\"; slug: string } & {\n \" $fragmentRefs\"?: {\n OperationsFragmentFragment: OperationsFragmentFragment;\n };\n }\n >;\n next?: {\n __typename?: \"SchemaTag\";\n name?: string | null;\n slug?: string | null;\n } | null;\n prev?: {\n __typename?: \"SchemaTag\";\n name?: string | null;\n slug?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type GetSchemasQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetSchemasQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n title: string;\n description?: string | null;\n summary?: string | null;\n components?: {\n __typename?: \"Components\";\n schemas?: Array<{\n __typename?: \"SchemaItem\";\n name: string;\n schema: any;\n extensions?: any | null;\n }> | null;\n } | null;\n };\n};\n\nexport type GetServerQueryQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetServerQueryQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n url?: string | null;\n servers: Array<{ __typename?: \"Server\"; url: string }>;\n };\n};\n\nexport type GetSidebarOperationsQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetSidebarOperationsQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n tags: Array<{\n __typename?: \"SchemaTag\";\n slug?: string | null;\n name?: string | null;\n extensions?: any | null;\n operations: Array<{\n __typename?: \"OperationItem\";\n summary?: string | null;\n slug: string;\n method: string;\n operationId?: string | null;\n path: string;\n }>;\n }>;\n components?: {\n __typename?: \"Components\";\n schemas?: Array<{ __typename: \"SchemaItem\" }> | null;\n } | null;\n };\n};\n\nexport class TypedDocumentString<TResult, TVariables>\n extends String\n implements DocumentTypeDecoration<TResult, TVariables>\n{\n __apiType?: DocumentTypeDecoration<TResult, TVariables>[\"__apiType\"];\n private value: string;\n public __meta__?: Record<string, any> | undefined;\n\n constructor(value: string, __meta__?: Record<string, any> | undefined) {\n super(value);\n this.value = value;\n this.__meta__ = __meta__;\n }\n\n toString(): string & DocumentTypeDecoration<TResult, TVariables> {\n return this.value;\n }\n}\nexport const OperationsFragmentFragmentDoc = new TypedDocumentString(\n `\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n}\n `,\n { fragmentName: \"OperationsFragment\" },\n) as unknown as TypedDocumentString<OperationsFragmentFragment, unknown>;\nexport const ServersQueryDocument = new TypedDocumentString(`\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n}\n `) as unknown as TypedDocumentString<\n ServersQueryQuery,\n ServersQueryQueryVariables\n>;\nexport const SchemaWarmupDocument = new TypedDocumentString(`\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n openapi\n }\n}\n `) as unknown as TypedDocumentString<\n SchemaWarmupQuery,\n SchemaWarmupQueryVariables\n>;\nexport const OperationsForTagDocument = new TypedDocumentString(`\n query OperationsForTag($input: JSON!, $type: SchemaType!, $tag: String, $untagged: Boolean) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n next {\n name\n slug\n }\n prev {\n name\n slug\n }\n }\n }\n}\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n}`) as unknown as TypedDocumentString<\n OperationsForTagQuery,\n OperationsForTagQueryVariables\n>;\nexport const GetSchemasDocument = new TypedDocumentString(`\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n}\n `) as unknown as TypedDocumentString<\n GetSchemasQuery,\n GetSchemasQueryVariables\n>;\nexport const GetServerQueryDocument = new TypedDocumentString(`\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n}\n `) as unknown as TypedDocumentString<\n GetServerQueryQuery,\n GetServerQueryQueryVariables\n>;\nexport const GetSidebarOperationsDocument = new TypedDocumentString(`\n query GetSidebarOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n tags {\n slug\n name\n extensions\n operations {\n summary\n slug\n method\n operationId\n path\n }\n }\n components {\n schemas {\n __typename\n }\n }\n }\n}\n `) as unknown as TypedDocumentString<\n GetSidebarOperationsQuery,\n GetSidebarOperationsQueryVariables\n>;\n","/* eslint-disable */\nimport * as types from \"./graphql.js\";\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size\n */\ntype Documents = {\n \"\\n query ServersQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\": typeof types.ServersQueryDocument;\n \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n deprecated\\n extensions\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\n explode\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n }\\n requestBody {\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\": typeof types.OperationsFragmentFragmentDoc;\n \"\\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n openapi\\n }\\n }\\n\": typeof types.SchemaWarmupDocument;\n \"\\n query OperationsForTag(\\n $input: JSON!\\n $type: SchemaType!\\n $tag: String\\n $untagged: Boolean\\n ) {\\n schema(input: $input, type: $type) {\\n servers {\\n url\\n }\\n description\\n summary\\n title\\n url\\n version\\n tag(slug: $tag, untagged: $untagged) {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n next {\\n name\\n slug\\n }\\n prev {\\n name\\n slug\\n }\\n }\\n }\\n }\\n\": typeof types.OperationsForTagDocument;\n \"\\n query GetSchemas($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n title\\n description\\n summary\\n components {\\n schemas {\\n name\\n schema\\n extensions\\n }\\n }\\n }\\n }\\n\": typeof types.GetSchemasDocument;\n \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\": typeof types.GetServerQueryDocument;\n \"\\n query GetSidebarOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n slug\\n name\\n extensions\\n operations {\\n summary\\n slug\\n method\\n operationId\\n path\\n }\\n }\\n components {\\n schemas {\\n __typename\\n }\\n }\\n }\\n }\\n\": typeof types.GetSidebarOperationsDocument;\n};\nconst documents: Documents = {\n \"\\n query ServersQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\":\n types.ServersQueryDocument,\n \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n deprecated\\n extensions\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\n explode\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n }\\n requestBody {\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\":\n types.OperationsFragmentFragmentDoc,\n \"\\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n openapi\\n }\\n }\\n\":\n types.SchemaWarmupDocument,\n \"\\n query OperationsForTag(\\n $input: JSON!\\n $type: SchemaType!\\n $tag: String\\n $untagged: Boolean\\n ) {\\n schema(input: $input, type: $type) {\\n servers {\\n url\\n }\\n description\\n summary\\n title\\n url\\n version\\n tag(slug: $tag, untagged: $untagged) {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n next {\\n name\\n slug\\n }\\n prev {\\n name\\n slug\\n }\\n }\\n }\\n }\\n\":\n types.OperationsForTagDocument,\n \"\\n query GetSchemas($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n title\\n description\\n summary\\n components {\\n schemas {\\n name\\n schema\\n extensions\\n }\\n }\\n }\\n }\\n\":\n types.GetSchemasDocument,\n \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\":\n types.GetServerQueryDocument,\n \"\\n query GetSidebarOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n slug\\n name\\n extensions\\n operations {\\n summary\\n slug\\n method\\n operationId\\n path\\n }\\n }\\n components {\\n schemas {\\n __typename\\n }\\n }\\n }\\n }\\n\":\n types.GetSidebarOperationsDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query ServersQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").ServersQueryDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n deprecated\\n extensions\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\n explode\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n }\\n requestBody {\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").OperationsFragmentFragmentDoc;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n openapi\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").SchemaWarmupDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query OperationsForTag(\\n $input: JSON!\\n $type: SchemaType!\\n $tag: String\\n $untagged: Boolean\\n ) {\\n schema(input: $input, type: $type) {\\n servers {\\n url\\n }\\n description\\n summary\\n title\\n url\\n version\\n tag(slug: $tag, untagged: $untagged) {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n next {\\n name\\n slug\\n }\\n prev {\\n name\\n slug\\n }\\n }\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").OperationsForTagDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query GetSchemas($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n title\\n description\\n summary\\n components {\\n schemas {\\n name\\n schema\\n extensions\\n }\\n }\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").GetSchemasDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").GetServerQueryDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query GetSidebarOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n slug\\n name\\n extensions\\n operations {\\n summary\\n slug\\n method\\n operationId\\n path\\n }\\n }\\n components {\\n schemas {\\n __typename\\n }\\n }\\n }\\n }\\n\",\n): typeof import(\"./graphql.js\").GetSidebarOperationsDocument;\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertDescription, AlertTitle };\n","import { Fragment, type ReactNode } from \"react\";\n\ntype PathParamProps = {\n name: string;\n index: number;\n originalValue?: string;\n};\n\nexport const PathRenderer = ({\n path,\n renderParam,\n}: {\n path: string;\n renderParam: (props: PathParamProps) => ReactNode;\n}) => {\n let paramIndex = 0;\n return path.split(\"/\").map((part, i, arr) => {\n const matches = Array.from(part.matchAll(/{([^}]+)}/g));\n const elements: ReactNode[] = [];\n let lastIndex = 0;\n\n matches.forEach((match) => {\n const [originalValue, name] = match;\n if (!name) return;\n const startIndex = match.index!;\n\n if (startIndex > lastIndex) {\n elements.push(\n <Fragment key={`text-${lastIndex}-${startIndex}`}>\n {part.slice(lastIndex, startIndex)}\n </Fragment>,\n );\n }\n\n elements.push(\n <Fragment key={`param-${name}`}>\n {renderParam({ name, originalValue, index: paramIndex++ })}\n </Fragment>,\n );\n\n lastIndex = startIndex + originalValue.length;\n });\n\n if (lastIndex < part.length) {\n elements.push(\n <Fragment key={`text-${lastIndex}-${part.length}`}>\n {part.slice(lastIndex)}\n </Fragment>,\n );\n }\n\n return (\n // eslint-disable-next-line react/no-array-index-key\n <Fragment key={`${part}-${i}`}>\n {elements}\n {i < arr.length - 1 && \"/\"}\n <wbr />\n </Fragment>\n );\n });\n};\n","import * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","const c2n = (c: string) =>\n Math.abs(\n isNaN(parseInt(c))\n ? c.toLowerCase().charCodeAt(0) - 96\n : isNaN(parseInt(c))\n ? 0\n : parseInt(c),\n );\nconst s2n = (s: string) =>\n s.length > 1\n ? parseInt(s.split(\"\").reduce((a, c) => `${c2n(a) + c2n(c)}`))\n : c2n(s);\n\nexport const pastellize = (\n s: string,\n options: {\n saturation?: number;\n lightness?: number;\n } = {},\n) => {\n const hue = (3 * s2n(s) + 2 * s2n(s) + s2n(s)) % 360;\n const { saturation = 75, lightness = 60 } = options;\n\n return `${hue}deg ${saturation}% ${lightness}%`;\n};\n","import { useTheme } from \"next-themes\";\nimport { useEffect, useRef, type CSSProperties, type ReactNode } from \"react\";\nimport { cn } from \"../../util/cn.js\";\nimport { pastellize } from \"../../util/pastellize.js\";\n\nexport const DATA_ATTR = \"data-linked-param\";\n\nexport const usePastellizedColor = (name: string) => {\n const { resolvedTheme } = useTheme();\n\n return {\n text: pastellize(\n name,\n resolvedTheme === \"light\" ? { saturation: 95, lightness: 38 } : {},\n ),\n background: pastellize(\n name,\n resolvedTheme === \"light\" ? { saturation: 85, lightness: 40 } : {},\n ),\n };\n};\n\nexport const useParamColor = (name: string) => {\n const normalized = name.replace(/[{}]/g, \"\");\n return usePastellizedColor(normalized);\n};\n\nexport const ColorizedParam = ({\n name,\n className,\n slug,\n title,\n children,\n onClick,\n}: {\n name: string;\n className?: string;\n backgroundOpacity?: string;\n borderOpacity?: string;\n slug?: string;\n children?: ReactNode;\n title?: string;\n onClick?: () => void;\n}) => {\n const ref = useRef<HTMLSpanElement>(null);\n const normalizedSlug = slug?.replace(/[{}]/g, \"\");\n const normalized = name.replace(/[{}]/g, \"\");\n const { text, background } = usePastellizedColor(normalized);\n\n const textColor = `hsl(${text} / 100%)`;\n const backgroundColor = `hsl(${background} / 10%)`;\n const borderColor = `hsl(${background} / 50%)`;\n\n useEffect(() => {\n if (!normalizedSlug) return;\n if (!ref.current) return;\n\n const onMouseEnter = () => {\n document\n .querySelectorAll(`[${DATA_ATTR}=\"${normalizedSlug}\"]`)\n .forEach((el) => {\n if (el instanceof HTMLElement) {\n el.dataset.active = \"true\";\n }\n });\n };\n const onMouseLeave = () => {\n document\n .querySelectorAll(`[${DATA_ATTR}=\"${normalizedSlug}\"]`)\n .forEach((el) => {\n if (el instanceof HTMLElement) {\n el.dataset.active = \"false\";\n }\n });\n };\n\n const el = ref.current;\n\n el.addEventListener(\"mouseenter\", onMouseEnter);\n el.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n el.removeEventListener(\"mouseenter\", onMouseEnter);\n el.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [normalizedSlug]);\n\n return (\n <span\n {...{ [DATA_ATTR]: normalizedSlug }}\n className={cn(\n // This may not contain (inline-)flex or (inline-)block otherwise it breaks the browser's full text search\n \"relative transition-all duration-100 rounded-lg\",\n \"border border-[--border-color] p-0.5 text-[--param-color] bg-[--background-color]\",\n \"data-[active=true]:border-[--param-color] data-[active=true]:shadow data-[active=true]:bottom-px\",\n className,\n )}\n title={title}\n suppressHydrationWarning\n ref={ref}\n onClick={onClick}\n style={\n {\n \"--param-color\": textColor,\n \"--border-color\": borderColor,\n \"--background-color\": backgroundColor,\n } as CSSProperties\n }\n >\n {children ?? name}\n </span>\n );\n};\n","import { useMemo } from \"react\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\ninterface SelectedServerState {\n selectedServer?: string;\n setSelectedServer: (newServer: string) => void;\n}\n\nexport const useSelectedServerStore = create<SelectedServerState>()(\n persist(\n (set) => ({\n selectedServer: undefined,\n setSelectedServer: (newServer: string) =>\n set({ selectedServer: newServer }),\n }),\n { name: \"zudoku-selected-server\" },\n ),\n);\n\n/**\n * Simple wrapper for `useSelectedServerStore` to fall back to first of the provided servers\n */\nexport const useSelectedServer = (servers: Array<{ url: string }>) => {\n const { selectedServer, setSelectedServer } = useSelectedServerStore();\n\n const finalSelectedServer = useMemo(\n () =>\n selectedServer && servers.some((s) => s.url === selectedServer)\n ? selectedServer\n : (servers.at(0)?.url ?? \"\"),\n [selectedServer, servers],\n );\n\n return { selectedServer: finalSelectedServer, setSelectedServer };\n};\n","import type { PlaygroundForm } from \"./Playground.js\";\n\nexport const createUrl = (host: string, path: string, data: PlaygroundForm) => {\n const filledPath = path.replace(/(:\\w+|\\{\\w+})/g, (match) => {\n const key = match.replace(/[:{}]/g, \"\");\n const value = data.pathParams.find((part) => part.name === key)?.value;\n\n return value ?? match;\n });\n\n // Ensure host ends with a slash and path doesn't start with one,\n // so they form a correct URL, without overriding the host's path.\n const url = new URL(\n filledPath.replace(/^\\//, \"\"),\n host.endsWith(\"/\") ? host : `${host}/`,\n );\n\n data.queryParams\n .filter((param) => param.active)\n .forEach((param) => {\n url.searchParams.set(param.name, param.value);\n });\n\n return url;\n};\n","import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\n\nimport { CheckIcon, ChevronRightIcon, DotIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotIcon className=\"h-4 w-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport type { Content, Example } from \"../SidecarExamples.js\";\n\nconst ExamplesDropdown = ({\n examples,\n onSelect,\n}: {\n examples: Content;\n onSelect: (example: Example, mediaType: string) => void;\n}) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\">Use Example</Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent className=\"max-w-72\">\n {examples.map((mediaTypeObject) => (\n <div key={mediaTypeObject.mediaType}>\n <DropdownMenuLabel>{mediaTypeObject.mediaType}</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n {mediaTypeObject.examples?.map((example) => (\n <DropdownMenuItem\n key={example.name}\n onSelect={() => onSelect(example, mediaTypeObject.mediaType)}\n >\n <span\n className=\"line-clamp-1\"\n title={example.summary ?? example.name}\n >\n {example.summary ?? example.name}\n </span>\n </DropdownMenuItem>\n ))}\n </DropdownMenuGroup>\n </div>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nexport default ExamplesDropdown;\n","import * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","import * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-[min(6px,var(--radius)-4px)] ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:text-primary\",\n \"border border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import { PopoverAnchor } from \"@radix-ui/react-popover\";\nimport { useCommandState } from \"cmdk\";\nimport { useRef, useState, type KeyboardEvent, type Ref } from \"react\";\nimport {\n Command,\n CommandInlineInput,\n CommandItem,\n CommandList,\n} from \"zudoku/ui/Command.js\";\nimport { Popover, PopoverContent } from \"zudoku/ui/Popover.js\";\nimport { cn } from \"../util/cn.js\";\n\ntype AutocompleteProps = {\n value: string;\n options: readonly string[];\n onChange: (e: string) => void;\n className?: string;\n placeholder?: string;\n onEnterPress?: (e: KeyboardEvent<HTMLInputElement>) => void;\n ref?: Ref<HTMLInputElement>;\n shouldFilter?: boolean;\n};\n\nconst AutocompletePopover = ({\n value,\n options,\n onChange,\n className,\n placeholder = \"Enter value\",\n onEnterPress,\n ref,\n}: AutocompleteProps) => {\n const [open, setOpen] = useState(false);\n const [dontClose, setDontClose] = useState(false);\n const count = useCommandState((state) => state.filtered.count);\n const inputRef = useRef<HTMLInputElement>(null);\n\n return (\n <Popover open={open}>\n <PopoverAnchor>\n <CommandInlineInput\n ref={(el) => {\n inputRef.current = el;\n if (typeof ref === \"function\") {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }}\n value={value}\n placeholder={placeholder}\n className={cn(\"h-9 bg-transparent\", className)}\n onFocus={() => setOpen(true)}\n onBlur={() => {\n if (dontClose) {\n return;\n }\n setOpen(false);\n }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n setOpen(false);\n inputRef.current?.blur();\n onEnterPress?.(e);\n }\n }}\n onValueChange={(e) => onChange(e)}\n />\n </PopoverAnchor>\n <PopoverContent\n onMouseEnter={() => setDontClose(true)}\n onMouseLeave={() => setDontClose(false)}\n onOpenAutoFocus={(e) => e.preventDefault()}\n className={cn(\"p-0 w-[--radix-popover-trigger-width]\", {\n \"border-0\": count === 0,\n })}\n align=\"start\"\n side=\"bottom\"\n onWheel={(e) => {\n // See: https://github.com/radix-ui/primitives/issues/1159\n e.stopPropagation();\n }}\n onTouchMove={(e) => {\n e.stopPropagation();\n }}\n >\n <CommandList className=\"max-h-[140px]\">\n {options.map((enumValue) => (\n <CommandItem\n key={enumValue}\n value={enumValue}\n onSelect={(selected) => {\n onChange(selected);\n setOpen(false);\n }}\n className=\"cursor-pointer\"\n >\n {enumValue}\n </CommandItem>\n ))}\n </CommandList>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport const Autocomplete = ({ shouldFilter, ...props }: AutocompleteProps) => {\n return (\n <Command className=\"bg-transparent\" shouldFilter={shouldFilter}>\n <AutocompletePopover {...props} />\n </Command>\n );\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport type { ClassValue } from \"clsx\";\nimport * as React from \"react\";\nimport { type HTMLElementType, type JSX } from \"react\";\nimport { cn } from \"./cn.js\";\n\nconst createVariantComponent = <\n E extends HTMLElementType,\n C extends ReturnType<typeof cva>,\n>(\n tag: E,\n cvx: ClassValue | C,\n // variantProps: Array<keyof VariantProps<C>> = [],\n) => {\n const MyVariant = React.forwardRef<\n HTMLElement,\n JSX.IntrinsicElements[E] & { className?: ClassValue; asChild?: boolean }\n >(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : tag;\n\n return React.createElement(Comp, {\n ...props,\n ref,\n className:\n typeof cvx === \"function\" ? cvx({ className }) : cn(cvx, className),\n });\n });\n\n MyVariant.displayName = `VariantComponent(${tag})`;\n\n return MyVariant;\n};\n\nexport default createVariantComponent;\n","import createVariantComponent from \"../../../util/createVariantComponent.js\";\n\nconst ParamsGrid = createVariantComponent(\n \"div\",\n \"grid grid-cols-[2fr_3fr] gap-2 items-center\",\n);\n\nexport const ParamsGridItem = createVariantComponent(\n \"div\",\n \"group hover:bg-accent px-3 grid col-span-full grid-cols-subgrid\",\n);\n\nexport default ParamsGrid;\n","import { XIcon } from \"lucide-react\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport {\n Control,\n Controller,\n useFieldArray,\n useFormContext,\n} from \"react-hook-form\";\nimport { Card } from \"zudoku/ui/Card.js\";\nimport { Checkbox } from \"zudoku/ui/Checkbox.js\";\nimport { Autocomplete } from \"../../../components/Autocomplete.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport ParamsGrid, { ParamsGridItem } from \"./ParamsGrid.js\";\nimport { Header, type PlaygroundForm } from \"./Playground.js\";\n\nconst headerOptions = Object.freeze([\n \"Accept\",\n \"Accept-Encoding\",\n \"Accept-Language\",\n \"Authorization\",\n \"Cache-Control\",\n \"Connection\",\n \"Content-Disposition\",\n \"Content-Encoding\",\n \"Content-Language\",\n \"Content-Length\",\n \"Content-Range\",\n \"Content-Security-Policy\",\n \"Content-Type\",\n \"Cookie\",\n \"Date\",\n \"ETag\",\n \"Expires\",\n \"Host\",\n \"If-Modified-Since\",\n \"Location\",\n \"Origin\",\n \"Pragma\",\n \"Referer\",\n \"Set-Cookie\",\n \"User-Agent\",\n \"X-Requested-With\",\n]);\n\nexport const Headers = ({\n control,\n headers: schemaHeaders,\n}: {\n control: Control<PlaygroundForm>;\n headers: Header[];\n}) => {\n const { fields, append, remove } = useFieldArray<PlaygroundForm, \"headers\">({\n control,\n name: \"headers\",\n });\n const { setValue, watch } = useFormContext<PlaygroundForm>();\n const valueRefs = useRef<Array<HTMLInputElement | null>>([]);\n const nameRefs = useRef<Array<HTMLInputElement | null>>([]);\n const watchedHeaders = watch(\"headers\");\n\n const addNewHeader = useCallback(() => {\n append({ name: \"\", value: \"\", active: false });\n }, [append]);\n\n useEffect(() => {\n if (watchedHeaders.length === 0) {\n addNewHeader();\n }\n }, [watchedHeaders, addNewHeader]);\n\n const handleHeaderEnter = (index: number) => {\n valueRefs.current[index]?.focus();\n };\n\n const handleValueEnter = (index: number) => {\n addNewHeader();\n requestAnimationFrame(() => nameRefs.current[index + 1]?.focus());\n };\n\n const missingHeaders = schemaHeaders\n .filter((h) => !watchedHeaders.some((f) => f.name === h.name))\n .map(({ name }) => name);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Card className=\"overflow-hidden\">\n <ParamsGrid>\n {fields.map((field, i) => {\n const currentHeader = schemaHeaders.find(\n (h) => h.name === watch(`headers.${i}.name`),\n );\n return (\n <ParamsGridItem key={field.id}>\n <div className=\"flex items-center gap-2 \">\n <Controller\n control={control}\n name={`headers.${i}.active`}\n render={({ field }) => (\n <Checkbox\n id={`headers.${i}.active`}\n checked={field.value}\n onCheckedChange={(checked) => {\n field.onChange(checked);\n }}\n />\n )}\n />\n <Controller\n control={control}\n name={`headers.${i}.name`}\n render={({ field }) => (\n <Autocomplete\n {...field}\n placeholder=\"Name\"\n className=\"border-0 shadow-none bg-transparent text-xs font-mono\"\n options={[...missingHeaders, ...headerOptions]}\n onEnterPress={() => handleHeaderEnter(i)}\n onChange={(e) => {\n field.onChange(e);\n setValue(`headers.${i}.active`, true);\n }}\n ref={(el) => {\n nameRefs.current[i] = el;\n }}\n />\n )}\n />\n </div>\n <div className=\"flex items-center gap-2\">\n <Controller\n control={control}\n name={`headers.${i}.value`}\n render={({ field }) => {\n const hasEnum =\n currentHeader?.enum && currentHeader.enum.length > 0;\n\n if (!hasEnum) {\n return (\n <Input\n placeholder=\"Value\"\n className=\"w-full border-0 shadow-none text-xs font-mono focus-visible:ring-0\"\n {...field}\n ref={(el) => {\n valueRefs.current[i] = el;\n }}\n onKeyDown={(e) => {\n if (\n e.key === \"Enter\" &&\n e.currentTarget.value.trim()\n ) {\n handleValueEnter(i);\n }\n }}\n autoComplete=\"off\"\n />\n );\n }\n\n return (\n <Autocomplete\n shouldFilter={false}\n value={field.value}\n options={currentHeader.enum ?? []}\n onChange={(e) => {\n field.onChange(e);\n setValue(`headers.${i}.active`, true);\n }}\n className=\"font-mono text-xs border-0\"\n />\n );\n }}\n />\n <Button\n size=\"icon\"\n variant=\"ghost\"\n className=\"text-muted-foreground opacity-0 group-hover:opacity-100 rounded-full w-8 h-7\"\n onClick={() => remove(i)}\n type=\"button\"\n >\n <XIcon size={16} />\n </Button>\n </div>\n </ParamsGridItem>\n );\n })}\n </ParamsGrid>\n </Card>\n <div className=\"text-end\">\n <Button\n className=\"\"\n onClick={addNewHeader}\n type=\"button\"\n variant=\"secondary\"\n >\n Add header\n </Button>\n </div>\n </div>\n );\n};\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","import { Card } from \"zudoku/ui/Card.js\";\nimport { Label } from \"zudoku/ui/Label.js\";\nimport { RadioGroup, RadioGroupItem } from \"zudoku/ui/RadioGroup.js\";\nimport { type ApiIdentity } from \"../../../core/ZudokuContext.js\";\nimport { NO_IDENTITY } from \"./Playground.js\";\n\nconst IdentitySelector = ({\n identities,\n setValue,\n value,\n}: {\n identities?: ApiIdentity[];\n setValue: (value: string) => void;\n value?: string;\n}) => {\n return (\n <Card className=\"w-full overflow-hidden\">\n <RadioGroup\n onValueChange={(value) => setValue(value)}\n value={value}\n defaultValue={NO_IDENTITY}\n className=\"gap-0\"\n disabled={identities?.length === 0}\n >\n <Label\n className=\"h-12 border-b items-center flex p-4 cursor-pointer hover:bg-accent\"\n htmlFor=\"none\"\n >\n <RadioGroupItem value={NO_IDENTITY} id=\"none\">\n None\n </RadioGroupItem>\n <Label htmlFor=\"none\" className=\"ml-2\">\n None\n </Label>\n </Label>\n {identities?.map((identity) => (\n <Label\n key={identity.id}\n className=\"h-12 border-b items-center flex p-4 cursor-pointer hover:bg-accent\"\n >\n <RadioGroupItem value={identity.id} id={identity.id}>\n {identity.label}\n </RadioGroupItem>\n <Label htmlFor={identity.id} className=\"ml-2\">\n {identity.label}\n </Label>\n </Label>\n ))}\n </RadioGroup>\n </Card>\n );\n};\n\nexport default IdentitySelector;\n","import { useState } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { Checkbox } from \"zudoku/ui/Checkbox.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\nimport { Label } from \"zudoku/ui/Label.js\";\nimport { type ApiIdentity } from \"../../../core/ZudokuContext.js\";\nimport IdentitySelector from \"./IdentitySelector.js\";\n\nconst IdentityDialog = ({\n onSubmit,\n identities,\n open,\n onOpenChange,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onSubmit: ({\n rememberedIdentity,\n identity,\n }: {\n rememberedIdentity: boolean;\n identity?: string;\n }) => void;\n identities: ApiIdentity[];\n}) => {\n const [identity, setIdentity] = useState<string | undefined>(undefined);\n const [rememberedIdentity, setRememberedIdentity] = useState<boolean>(false);\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent>\n <DialogTitle>Select an auth identity</DialogTitle>\n <DialogDescription>\n Please select an identity for this request.\n </DialogDescription>\n <div className=\"max-h-80 overflow-auto\">\n <IdentitySelector\n identities={identities}\n setValue={setIdentity}\n value={identity}\n />\n </div>\n <DialogFooter className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Checkbox\n id=\"remember\"\n checked={rememberedIdentity}\n onCheckedChange={(checked) =>\n setRememberedIdentity(\n checked === \"indeterminate\" ? false : !!checked,\n )\n }\n />\n <Label htmlFor=\"remember\">Remember my choice</Label>\n </div>\n\n <Button\n onClick={() => onSubmit({ identity: identity, rememberedIdentity })}\n >\n Send\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { IdentityDialog };\n","import { type Control, Controller, useFieldArray } from \"react-hook-form\";\nimport { Card } from \"zudoku/ui/Card.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport ParamsGrid, { ParamsGridItem } from \"./ParamsGrid.js\";\nimport type { PlaygroundForm } from \"./Playground.js\";\n\nexport const PathParams = ({\n control,\n url,\n}: {\n control: Control<PlaygroundForm>;\n url: string;\n}) => {\n const { fields } = useFieldArray<PlaygroundForm, \"pathParams\">({\n control,\n name: \"pathParams\",\n });\n\n const sortedFields = [...fields].sort(\n (a, b) => url.indexOf(`{${a.name}}`) - url.indexOf(`{${b.name}}`),\n );\n\n return (\n <Card className=\"rounded-lg\">\n <ParamsGrid>\n {sortedFields.map((field, i) => (\n <ParamsGridItem key={field.id}>\n <Controller\n control={control}\n name={`pathParams.${i}.name`}\n render={() => (\n <div className=\"flex items-center\">\n <ColorizedParam\n slug={field.name}\n name={field.name}\n className=\"font-mono text-xs px-2\"\n />\n </div>\n )}\n />\n\n <div className=\"flex justify-between items-center\">\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <Input\n {...field}\n required\n placeholder=\"Enter value\"\n className=\"w-full border-0 shadow-none text-xs font-mono focus-visible:ring-0\"\n />\n )}\n />\n </div>\n </ParamsGridItem>\n ))}\n </ParamsGrid>\n </Card>\n );\n};\n","import createVariantComponent from \"../../../util/createVariantComponent.js\";\n\nexport const InlineInput = createVariantComponent(\n \"input\",\n \"px-2 bg-transparent h-6 font-mono text-xs m-2\",\n);\n","import {\n Control,\n Controller,\n useFieldArray,\n useFormContext,\n} from \"react-hook-form\";\nimport { Card } from \"zudoku/ui/Card.js\";\nimport { Checkbox } from \"zudoku/ui/Checkbox.js\";\nimport { Autocomplete } from \"../../../components/Autocomplete.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport ParamsGrid, { ParamsGridItem } from \"./ParamsGrid.js\";\nimport { type PlaygroundForm, type QueryParam } from \"./Playground.js\";\n\nexport const QueryParams = ({\n control,\n queryParams,\n}: {\n control: Control<PlaygroundForm>;\n queryParams: QueryParam[];\n}) => {\n const { fields } = useFieldArray<PlaygroundForm, \"queryParams\">({\n control,\n name: \"queryParams\",\n });\n const form = useFormContext<PlaygroundForm>();\n\n const requiredFields = queryParams.map((param) => Boolean(param.isRequired));\n\n return (\n <Card className=\"rounded-lg\">\n <div className=\"w-full \">\n <ParamsGrid>\n {fields.map((field, i) => {\n const currentParam = queryParams.find(\n (param) => param.name === form.watch(`queryParams.${i}.name`),\n );\n return (\n <ParamsGridItem key={field.id}>\n <div key={field.id} className=\"flex items-center gap-2\">\n <Controller\n control={control}\n name={`queryParams.${i}.active`}\n render={({ field }) => (\n <Checkbox\n id={`queryParams.${i}.active`}\n className=\"mr-2\"\n checked={field.value}\n onCheckedChange={field.onChange}\n />\n )}\n />\n <Controller\n control={control}\n render={({ field }) =>\n !requiredFields[i] ? (\n <Autocomplete\n value={field.value}\n options={queryParams.map((param) => param.name)}\n onChange={(e) => {\n field.onChange(e);\n }}\n className=\"border-0 font-mono text-xs bg-transparent hover:bg-transparent\"\n />\n ) : (\n <InlineInput asChild>\n <label\n className=\"flex items-center cursor-pointer gap-1\"\n htmlFor={`queryParams.${i}.active`}\n title={\n requiredFields[i] ? \"Required field\" : undefined\n }\n >\n {field.value}\n {requiredFields[i] && <sup>&nbsp;*</sup>}\n </label>\n </InlineInput>\n )\n }\n name={`queryParams.${i}.name`}\n />\n </div>\n <div className=\"flex justify-between items-center\">\n <Controller\n control={control}\n render={({ field }) => {\n const hasEnum =\n currentParam?.enum && currentParam.enum.length > 0;\n\n if (!hasEnum) {\n return (\n <Input\n {...field}\n onChange={(e) => {\n field.onChange(e.target.value);\n if (e.target.value.length > 0) {\n form.setValue(`queryParams.${i}.active`, true);\n }\n }}\n placeholder=\"Enter value\"\n className=\"w-full border-0 shadow-none focus-visible:ring-0 text-xs font-mono\"\n />\n );\n }\n\n return (\n <Autocomplete\n value={field.value}\n options={currentParam.enum ?? []}\n onChange={(e) => {\n field.onChange(e);\n form.setValue(`queryParams.${i}.active`, true);\n }}\n className=\"font-mono text-xs border-0 ring-1 ring-ring\"\n />\n );\n }}\n name={`queryParams.${i}.value`}\n />\n </div>\n </ParamsGridItem>\n );\n })}\n </ParamsGrid>\n </div>\n </Card>\n );\n};\n","import { create } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\ninterface IdentityState {\n rememberedIdentity: string | null;\n setRememberedIdentity: (identity: string | null) => void;\n getRememberedIdentity: (availableIdentities: string[]) => string | undefined;\n}\n\nexport const useIdentityStore = create<IdentityState>()(\n persist(\n (set, get) => ({\n rememberedIdentity: null,\n setRememberedIdentity: (identity: string | null) =>\n set({ rememberedIdentity: identity }),\n getRememberedIdentity: (availableIdentities: string[]) =>\n availableIdentities.find(\n (identity) => identity === get().rememberedIdentity,\n ),\n }),\n {\n name: \"identity-storage\",\n storage: createJSONStorage(() => sessionStorage),\n },\n ),\n);\n","import { Button } from \"zudoku/ui/Button.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\n\nconst RequestLoginDialog = ({\n open,\n setOpen,\n onSignUp,\n onLogin,\n}: {\n open: boolean;\n onSignUp?: () => void;\n onLogin?: () => void;\n setOpen: (open: boolean) => void;\n}) => {\n return (\n <Dialog open={open} onOpenChange={setOpen}>\n <DialogContent>\n <DialogTitle>Welcome to the Playground!</DialogTitle>\n <DialogDescription>\n The Playground is a tool for developers to test and explore our APIs.\n To use the Playground, you need to login.\n </DialogDescription>\n <DialogFooter className=\"flex gap-2 sm:justify-between\">\n <Button type=\"button\" variant=\"ghost\" onClick={() => setOpen(false)}>\n Skip\n </Button>\n <div className=\"flex gap-2\">\n {onSignUp && (\n <Button type=\"button\" variant=\"outline\" onClick={onSignUp}>\n Sign Up\n </Button>\n )}\n {onLogin && (\n <Button type=\"button\" variant=\"default\" onClick={onLogin}>\n Login\n </Button>\n )}\n </div>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default RequestLoginDialog;\n","export const TextColorMap = {\n green: \"text-green-600\",\n blue: \"text-sky-600\",\n yellow: \"text-yellow-600\",\n red: \"text-red-600\",\n purple: \"text-purple-600\",\n indigo: \"text-indigo-600\",\n gray: \"text-gray-600\",\n};\n\nexport const methodToColor = {\n get: TextColorMap.green,\n post: TextColorMap.blue,\n put: TextColorMap.yellow,\n delete: TextColorMap.red,\n patch: TextColorMap.purple,\n options: TextColorMap.indigo,\n head: TextColorMap.gray,\n trace: TextColorMap.gray,\n};\n\nexport const methodForColor = (method: string) => {\n return (\n methodToColor[method.toLocaleLowerCase() as keyof typeof methodToColor] ??\n TextColorMap.gray\n );\n};\n","import { ChevronRightIcon } from \"lucide-react\";\nimport { Fragment } from \"react\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"../../../../ui/Collapsible.js\";\nimport { cn } from \"../../../../util/cn.js\";\nimport { methodForColor } from \"../../util/methodToColor.js\";\n\nexport const RequestTab = ({\n method,\n url,\n headers,\n body,\n}: {\n method: string;\n url: string;\n headers: Array<[string, string]>;\n body?: string;\n}) => {\n return (\n <div className=\"flex flex-col gap-2 font-mono text-xs\">\n <div className=\"gap-2 p-2 bg-muted rounded-md\">\n <span className={cn(methodForColor(method), \"font-semibold\")}>\n {method}\n </span>\n &nbsp;\n <span className=\"break-all\">{url}</span>&nbsp;\n <span className=\"text-muted-foreground\">HTTP/1.1</span>\n </div>\n <div className=\"mx-1.5 flex flex-col gap-3\">\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex items-center gap-2 hover:text-primary group\">\n <ChevronRightIcon className=\"h-4 w-4 transition-transform duration-200 group-data-[state=open]:rotate-[90deg]\" />\n <span className=\"font-semibold\">Headers</span>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <div className=\"grid grid-cols-[auto,1fr] gap-x-8 gap-y-1 pl-1.5 pt-2\">\n {headers.map(([key, value]) => (\n <Fragment key={key}>\n <div className=\"text-primary\">{key}</div>\n <div className=\"break-all\">{value}</div>\n </Fragment>\n ))}\n </div>\n </CollapsibleContent>\n </Collapsible>\n\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex items-center gap-2 hover:text-primary group\">\n <ChevronRightIcon className=\"h-4 w-4 transition-transform duration-200 group-data-[state=open]:rotate-[90deg]\" />\n <span className=\"font-semibold\">Body</span>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <div className=\"pl-0 pt-2\">\n <div\n className={cn(\n \"whitespace-pre-wrap break-all bg-muted p-2 rounded-md\",\n !body && \"text-muted-foreground\",\n )}\n >\n {body ?? \"Empty body\"}\n </div>\n </div>\n </CollapsibleContent>\n </Collapsible>\n </div>\n </div>\n );\n};\n\nexport default RequestTab;\n","import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n","type JsonValue = string | number | boolean | null | JsonObject | JsonArray;\ntype JsonObject = { [key: string]: JsonValue };\ntype JsonArray = JsonValue[];\n\nfunction inferType(value: JsonValue): string {\n if (value === null) return \"null\";\n if (Array.isArray(value)) {\n if (value.length === 0) return \"any[]\";\n const firstValue = value[0];\n if (firstValue === undefined) return \"any[]\";\n const elementType = inferType(firstValue);\n return `${elementType}[]`;\n }\n if (typeof value === \"object\") {\n return generateInterface(value);\n }\n return typeof value;\n}\n\nexport function generateInterface(obj: JsonObject, indentation = \"\"): string {\n const lines: string[] = [\"{\"];\n\n for (const [key, value] of Object.entries(obj)) {\n const propertyType = inferType(value);\n lines.push(` ${key}: ${propertyType};`);\n }\n\n lines.push(\"}\");\n return lines.join(\"\\n\");\n}\n\nexport function convertToTypes(json: JsonValue): { lines: string[] } {\n const typeDefinition = inferType(json);\n const lines = [`type GeneratedType = ${typeDefinition};`];\n return { lines };\n}\n","import { useQuery } from \"@tanstack/react-query\";\nimport { ChevronRightIcon } from \"lucide-react\";\nimport { Fragment, useState } from \"react\";\nimport { Callout } from \"zudoku/ui/Callout.js\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"zudoku/ui/Select.js\";\nimport { Card } from \"../../../../ui/Card.js\";\nimport { SyntaxHighlight } from \"../../../../ui/SyntaxHighlight.js\";\nimport { convertToTypes } from \"./convertToTypes.js\";\n\nconst statusCodeMap: Record<number, string> = {\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 204: \"No Content\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\",\n};\n\nconst humanFileSize = (bytes: number) => {\n const exponent = Math.floor(Math.log(bytes) / Math.log(1000.0));\n const decimal = (bytes / Math.pow(1000.0, exponent)).toFixed(\n exponent ? 2 : 0,\n );\n return `${decimal} ${exponent ? `${\"kMGTPEZY\"[exponent - 1]}B` : \"B\"}`;\n};\n\nconst mimeTypeToLanguage = (mimeType: string) => {\n const mimeTypeMapping = {\n \"application/json\": \"json\",\n \"text/json\": \"json\",\n \"text/html\": \"html\",\n \"text/css\": \"css\",\n \"text/javascript\": \"javascript\",\n \"application/xml\": \"xml\",\n \"application/xhtml+xml\": \"xhtml\",\n };\n\n return Object.entries(mimeTypeMapping).find(([mime]) =>\n mimeType.includes(mime),\n )?.[1];\n};\n\nconst detectLanguage = (headers: Array<[string, string]>) => {\n const contentType =\n headers.find(([key, value]) => key === \"Content-Type\")?.[1] || \"\";\n return mimeTypeToLanguage(contentType);\n};\n\nconst tryParseJson = (body: string) => {\n try {\n return JSON.stringify(JSON.parse(body), null, 2);\n } catch {\n return null;\n }\n};\n\nconst sortHeadersByRelevance = (\n headers: Array<[string, string]>,\n): Array<[string, string]> => {\n const priorityOrder = [\n \"Content-Type\",\n \"Content-Length\",\n \"Authorization\",\n \"X-RateLimit-Remaining\",\n \"X-RateLimit-Limit\",\n \"Cache-Control\",\n \"ETag\",\n ].map((key) => key.toLowerCase());\n\n return [...headers].sort(([keyA], [keyB]) => {\n const indexA = priorityOrder.indexOf(keyA.toLowerCase());\n const indexB = priorityOrder.indexOf(keyB.toLowerCase());\n if (indexA === indexB) return 0;\n if (indexA === -1) return 1;\n if (indexB === -1) return -1;\n return indexA - indexB;\n });\n};\n\nconst SYNTAX_HIGHLIGHT_MAX_SIZE_THRESHOLD = 64_000;\n\nexport const ResponseTab = ({\n body = \"\",\n headers,\n status,\n time,\n size,\n url,\n}: {\n body?: string;\n headers: Array<[string, string]>;\n status: number;\n time: number;\n size: number;\n url: string;\n}) => {\n const detectedLanguage = detectLanguage(headers);\n const jsonContent = tryParseJson(body);\n const beautifiedBody = jsonContent || body;\n const [view, setView] = useState<\"formatted\" | \"raw\" | \"types\">(\n jsonContent ? \"formatted\" : \"raw\",\n );\n\n const types = useQuery({\n queryKey: [\"types\", beautifiedBody],\n queryFn: async () => {\n return convertToTypes(JSON.parse(beautifiedBody));\n },\n enabled: view === \"types\",\n });\n\n const sortedHeaders = sortHeadersByRelevance([...headers]);\n const shouldDisableHighlighting = size > SYNTAX_HIGHLIGHT_MAX_SIZE_THRESHOLD;\n\n return (\n <div className=\"flex flex-col gap-2 h-full overflow-auto max-h-[calc(100vh-220px)] \">\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex items-center gap-2 hover:text-primary group\">\n <ChevronRightIcon className=\"h-4 w-4 transition-transform duration-200 group-data-[state=open]:rotate-[90deg]\" />\n <span className=\"font-semibold\">Headers</span>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <div className=\"grid grid-cols-[auto,1fr] gap-x-8 gap-y-1 pl-1.5 pt-2 font-mono text-xs\">\n {sortedHeaders.slice(0, 5).map(([key, value]) => (\n <Fragment key={key}>\n <div className=\"text-primary whitespace-pre\">{key}</div>\n <div className=\"break-all\">{value}</div>\n </Fragment>\n ))}\n {sortedHeaders.length > 5 && (\n <Collapsible className=\"col-span-full grid-cols-subgrid grid\">\n <CollapsibleTrigger className=\"col-span-2 text-xs text-muted-foreground hover:text-primary flex items-center gap-1 py-1\">\n <ChevronRightIcon className=\"h-3 w-3 transition-transform duration-200 group-data-[state=open]:rotate-[90deg]\" />\n Show {sortedHeaders.length - 5} more headers\n </CollapsibleTrigger>\n <CollapsibleContent className=\"col-span-full grid grid-cols-subgrid gap-x-8 gap-y-1 \">\n {sortedHeaders.slice(5).map(([key, value]) => (\n <Fragment key={key}>\n <div className=\"text-primary whitespace-pre\">{key}</div>\n <div className=\"break-all\">{value}</div>\n </Fragment>\n ))}\n </CollapsibleContent>\n </Collapsible>\n )}\n </div>\n </CollapsibleContent>\n </Collapsible>\n\n <Card className=\"shadow-none\">\n {shouldDisableHighlighting && (\n <Callout type=\"info\" className=\"my-0 p-2\">\n Code highlight is disabled for responses larger than{\" \"}\n {humanFileSize(SYNTAX_HIGHLIGHT_MAX_SIZE_THRESHOLD)}\n </Callout>\n )}\n <SyntaxHighlight\n language={\n view === \"types\"\n ? \"typescript\"\n : view === \"raw\"\n ? jsonContent\n ? \"plain\"\n : detectedLanguage\n : \"json\"\n }\n showCopy=\"always\"\n disabled={shouldDisableHighlighting}\n noBackground\n className=\"overflow-x-auto p-4 text-xs max-h-[calc(83.333vh-180px)]\"\n code={\n (view === \"raw\"\n ? body\n : view === \"types\"\n ? types.data?.lines.join(\"\\n\")\n : beautifiedBody) ?? \"\"\n }\n />\n </Card>\n <div className=\"flex gap-2 justify-between items-center\">\n <div className=\"flex text-xs gap-2 border bg-muted rounded-md p-2 items-center h-8 font-mono divide-x\">\n <div>\n <span className=\"text-muted-foreground\">Status</span> {status}{\" \"}\n {statusCodeMap[status] ?? \"\"}\n </div>\n <div>\n <span className=\"text-muted-foreground\">Time</span>{\" \"}\n {time.toFixed(0)}ms\n </div>\n <div>\n <span className=\"text-muted-foreground\">Size</span>{\" \"}\n {humanFileSize(size)}\n </div>\n </div>\n {jsonContent && (\n <div>\n <Select\n value={view}\n onValueChange={(value) => setView(value as \"formatted\" | \"raw\")}\n >\n <SelectTrigger className=\"min-w-32\">\n <SelectValue placeholder=\"View\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"formatted\">Formatted</SelectItem>\n <SelectItem value=\"raw\">Raw</SelectItem>\n <SelectItem value=\"types\">Types</SelectItem>\n </SelectContent>\n </Select>\n </div>\n )}\n </div>\n </div>\n );\n};\n","import { type UseMutationResult } from \"@tanstack/react-query\";\nimport { Spinner } from \"../../../../components/Spinner.js\";\nimport { Button } from \"../../../../ui/Button.js\";\nimport { Callout } from \"../../../../ui/Callout.js\";\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from \"../../../../ui/Card.js\";\nimport {\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from \"../../../../ui/Tabs.js\";\nimport { cn } from \"../../../../util/cn.js\";\nimport { type PlaygroundResult } from \"../Playground.js\";\nimport { RequestTab } from \"./RequestTab.js\";\nimport { ResponseTab } from \"./ResponseTab.js\";\n\nexport const ResultPanel = ({\n queryMutation,\n showPathParamsWarning,\n showLongRunningWarning,\n onCancel,\n}: {\n queryMutation: UseMutationResult<PlaygroundResult, Error, any>;\n showPathParamsWarning: boolean;\n showLongRunningWarning?: boolean;\n onCancel?: () => void;\n}) => {\n const status = ((queryMutation.data?.status ?? 0) / 100).toFixed(0);\n return (\n <div className=\"min-w-0 p-4 py-8 bg-muted/50\">\n {queryMutation.error ? (\n <div className=\"flex flex-col gap-2\">\n {showPathParamsWarning && (\n <Callout type=\"caution\">\n Some path parameters are missing values. Please fill them in to\n ensure the request is sent correctly.\n </Callout>\n )}\n <Card>\n <CardHeader>\n <CardTitle>Request failed</CardTitle>\n </CardHeader>\n <CardContent>\n Error:{\" \"}\n {queryMutation.error.message ||\n String(queryMutation.error) ||\n \"Unexpected error\"}\n </CardContent>\n </Card>\n </div>\n ) : queryMutation.data ? (\n <Tabs defaultValue=\"response\">\n <TabsList>\n <TabsTrigger value=\"request\">Request</TabsTrigger>\n <TabsTrigger value=\"response\">\n Response\n <span\n className={cn(\n \"text-xs font-mono ml-1\",\n status === \"2\" && \"text-green-500\",\n status === \"3\" && \"text-blue-500\",\n status === \"4\" && \"text-yellow-500\",\n status === \"5\" && \"text-red-500\",\n )}\n >\n ({queryMutation.data.status})\n </span>\n </TabsTrigger>\n </TabsList>\n <TabsContent value=\"request\">\n <RequestTab {...queryMutation.data.request} />\n </TabsContent>\n <TabsContent value=\"response\">\n <ResponseTab\n status={queryMutation.data.status}\n time={queryMutation.data.time}\n size={queryMutation.data.size}\n headers={queryMutation.data.headers}\n body={queryMutation.data.body}\n url={queryMutation.data.request.url}\n />\n </TabsContent>\n </Tabs>\n ) : (\n <div className=\"grid place-items-center h-full\">\n {queryMutation.isPending ? (\n <div className=\"flex flex-col gap-2 items-center mt-20\">\n <Spinner size={20} />\n <div\n className={cn(\n \"opacity-0 pointer-events-none transition-opacity h-20 text-sm text-muted-foreground duration-300 flex flex-col gap-2 items-center\",\n showLongRunningWarning && \"opacity-100 pointer-events-auto\",\n )}\n >\n Looks like the request is taking longer than expected.\n <Button\n type=\"button\"\n onClick={onCancel}\n size=\"sm\"\n className=\"w-fit\"\n variant=\"outline\"\n >\n Cancel\n </Button>\n </div>\n </div>\n ) : (\n <span className=\"text-[16px] font-semibold text-muted-foreground\">\n Send a request first to see the response here\n </span>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default ResultPanel;\n","import { ChevronDownIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { RadioGroup, RadioGroupItem } from \"zudoku/ui/RadioGroup.js\";\nimport { ApiIdentity } from \"../../../core/ZudokuContext.js\";\nimport { NO_IDENTITY } from \"./Playground.js\";\n\nconst SubmitButton = ({\n identities,\n formRef,\n disabled,\n}: {\n identities: ApiIdentity[];\n formRef?: React.RefObject<HTMLFormElement | null>;\n disabled?: boolean;\n}) => {\n const { setValue } = useFormContext();\n const [dropdownValue, setDropdownValue] = useState<string | undefined>();\n if (identities.length === 0) {\n return <Button disabled={disabled}>Send</Button>;\n }\n return (\n <div className=\"flex\">\n <Button\n className=\"rounded-r-none inset-shadow-sm\"\n disabled={disabled}\n onClick={() => formRef?.current?.requestSubmit()}\n >\n Send\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n disabled={disabled}\n className=\"rounded-l-none border-l border-border/40 inset-shadow-sm w-6\"\n size=\"icon\"\n >\n <ChevronDownIcon className=\"w-4 h-4\" />\n </Button>\n </DropdownMenuTrigger>\n <RadioGroup value={dropdownValue}>\n <DropdownMenuContent className=\"w-56\" align=\"end\" alignOffset={-150}>\n {[{ id: NO_IDENTITY, label: \"None\" }, ...identities].map(\n (identity) => (\n <DropdownMenuItem\n key={identity.id}\n onClick={() => {\n setDropdownValue(identity.id);\n setValue(\"identity\", identity.id);\n formRef?.current?.requestSubmit();\n }}\n onMouseEnter={() => setDropdownValue(identity.id)}\n onMouseLeave={() => setDropdownValue(undefined)}\n >\n <RadioGroupItem value={identity.id} className=\"mr-2\" />\n\n {identity.label}\n </DropdownMenuItem>\n ),\n )}\n </DropdownMenuContent>\n </RadioGroup>\n </DropdownMenu>\n </div>\n );\n};\n\nexport default SubmitButton;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { InfoIcon } from \"lucide-react\";\nimport { Fragment, useEffect, useRef, useState, useTransition } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { Alert, AlertDescription, AlertTitle } from \"zudoku/ui/Alert.js\";\nimport { PathRenderer } from \"../../../components/PathRenderer.js\";\n\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"zudoku/ui/Select.js\";\nimport { Textarea } from \"zudoku/ui/Textarea.js\";\nimport { useApiIdentities } from \"../../../components/context/ZudokuContext.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/Tabs.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { objectEntries } from \"../../../util/objectEntries.js\";\nimport { useLatest } from \"../../../util/useLatest.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport { type Content } from \"../SidecarExamples.js\";\nimport { useSelectedServer } from \"../state.js\";\nimport { createUrl } from \"./createUrl.js\";\nimport ExamplesDropdown from \"./ExamplesDropdown.js\";\nimport { Headers } from \"./Headers.js\";\nimport { IdentityDialog } from \"./IdentityDialog.js\";\nimport IdentitySelector from \"./IdentitySelector.js\";\nimport { PathParams } from \"./PathParams.js\";\nimport { QueryParams } from \"./QueryParams.js\";\nimport { useIdentityStore } from \"./rememberedIdentity.js\";\nimport RequestLoginDialog from \"./RequestLoginDialog.js\";\nimport { ResultPanel } from \"./result-panel/ResultPanel.js\";\nimport SubmitButton from \"./SubmitButton.js\";\n\nexport const NO_IDENTITY = \"__none\";\n\nexport type Header = {\n name: string;\n defaultValue?: string;\n defaultActive?: boolean;\n isRequired?: boolean;\n enum?: string[];\n type?: string;\n};\n\nexport type QueryParam = {\n name: string;\n defaultValue?: string;\n defaultActive?: boolean;\n isRequired?: boolean;\n enum?: string[];\n type?: string;\n};\nexport type PathParam = {\n name: string;\n defaultValue?: string;\n isRequired?: boolean;\n};\n\nconst bodyContentTypeMap = {\n Plain: \"text/plain\",\n JSON: \"application/json\",\n XML: \"application/xml\",\n YAML: \"application/yaml\",\n CSV: \"text/csv\",\n} as const;\n\nexport type PlaygroundForm = {\n body: string;\n bodyContentType: keyof typeof bodyContentTypeMap;\n queryParams: Array<{\n name: string;\n value: string;\n active: boolean;\n enum?: string[];\n }>;\n pathParams: Array<{ name: string; value: string }>;\n headers: Array<{\n name: string;\n value: string;\n active: boolean;\n enum?: string[];\n }>;\n identity?: string;\n};\n\nexport type PlaygroundResult = {\n status: number;\n headers: Array<[string, string]>;\n size: number;\n body: string;\n time: number;\n request: {\n method: string;\n url: string;\n headers: Array<[string, string]>;\n body?: string;\n };\n};\n\nexport type PlaygroundContentProps = {\n server?: string;\n servers?: string[];\n url: string;\n method: string;\n headers?: Header[];\n queryParams?: QueryParam[];\n pathParams?: PathParam[];\n defaultBody?: string;\n examples?: Content;\n requiresLogin?: boolean;\n onLogin?: () => void;\n onSignUp?: () => void;\n};\n\nexport const Playground = ({\n server,\n servers = [],\n url,\n method,\n headers = [],\n queryParams = [],\n pathParams = [],\n defaultBody = \"\",\n examples,\n requiresLogin = false,\n onLogin,\n onSignUp,\n}: PlaygroundContentProps) => {\n const { selectedServer, setSelectedServer } = useSelectedServer(\n servers.map((url) => ({ url })),\n );\n const [showSelectIdentity, setShowSelectIdentity] = useState(false);\n const identities = useApiIdentities();\n const { setRememberedIdentity, getRememberedIdentity } = useIdentityStore();\n const [, startTransition] = useTransition();\n const [skipLogin, setSkipLogin] = useState(false);\n const [showLongRunningWarning, setShowLongRunningWarning] = useState(false);\n const abortControllerRef = useRef<AbortController | undefined>(undefined);\n const latestSetRememberedIdentity = useLatest(setRememberedIdentity);\n\n const { register, control, handleSubmit, watch, setValue, ...form } =\n useForm<PlaygroundForm>({\n defaultValues: {\n body: defaultBody,\n bodyContentType: \"JSON\",\n queryParams: queryParams\n .map((param) => ({\n name: param.name,\n value: param.defaultValue ?? \"\",\n active: param.defaultActive ?? false,\n enum: param.enum ?? [],\n }))\n .concat([\n {\n name: \"\",\n value: \"\",\n active: false,\n enum: [],\n },\n ]),\n pathParams: pathParams.map((param) => ({\n name: param.name,\n value: param.defaultValue ?? \"\",\n })),\n headers: headers\n .map((header) => ({\n name: header.name,\n value: header.defaultValue ?? \"\",\n active: header.defaultActive ?? false,\n }))\n .concat([\n {\n name: \"\",\n value: \"\",\n active: false,\n },\n ]),\n identity: getRememberedIdentity(\n identities.data?.map((i) => i.id) ?? [],\n ),\n },\n });\n const formState = watch();\n const formRef = useRef<HTMLFormElement>(null);\n\n useEffect(() => {\n if (formState.identity) {\n latestSetRememberedIdentity.current(formState.identity);\n }\n }, [latestSetRememberedIdentity, formState.identity]);\n\n const queryMutation = useMutation({\n mutationFn: async (data: PlaygroundForm) => {\n const start = performance.now();\n\n const shouldSetContentType = !data.headers.some(\n (h) => h.active && h.name.toLowerCase() === \"content-type\",\n );\n\n const headers = Object.fromEntries([\n ...data.headers\n .filter((h) => h.name && h.active)\n .map((header) => [header.name, header.value]),\n ...(shouldSetContentType\n ? [[\"content-type\", bodyContentTypeMap[data.bodyContentType]]]\n : []),\n ]);\n\n const request = new Request(\n createUrl(server ?? selectedServer, url, data),\n {\n method: method.toUpperCase(),\n headers,\n body: data.body ? data.body : undefined,\n },\n );\n\n if (data.identity !== NO_IDENTITY) {\n await identities.data\n ?.find((i) => i.id === data.identity)\n ?.authorizeRequest(request);\n }\n\n const warningTimeout = setTimeout(\n () => setShowLongRunningWarning(true),\n 3210,\n );\n abortControllerRef.current = new AbortController();\n\n try {\n const response = await fetch(request, {\n signal: abortControllerRef.current.signal,\n });\n\n clearTimeout(warningTimeout);\n setShowLongRunningWarning(false);\n\n const time = performance.now() - start;\n const body = await response.text();\n const url = new URL(request.url);\n\n return {\n status: response.status,\n headers: Array.from(response.headers.entries()),\n size: body.length,\n body,\n time,\n request: {\n method: request.method.toUpperCase(),\n url: request.url,\n headers: [\n [\"Host\", url.host],\n [\"User-Agent\", \"Zudoku Playground\"],\n ...Array.from(request.headers.entries()),\n ],\n body: data.body ? data.body : undefined,\n },\n } satisfies PlaygroundResult;\n } catch (error) {\n clearTimeout(warningTimeout);\n setShowLongRunningWarning(false);\n if (error instanceof TypeError) {\n throw new Error(\n \"The request failed, possibly due to network issues or CORS policy.\",\n );\n } else {\n throw error;\n }\n }\n },\n });\n\n useEffect(() => {\n return () => {\n abortControllerRef.current?.abort();\n };\n }, []);\n\n const path = (\n <PathRenderer\n path={url}\n renderParam={({ name, originalValue, index }) => {\n const formValue = formState.pathParams.find(\n (param) => param.name === name,\n )?.value;\n\n return (\n <ColorizedParam\n name={name}\n backgroundOpacity=\"0\"\n slug={name}\n onClick={() => form.setFocus(`pathParams.${index}.value`)}\n >\n {formValue || originalValue}\n </ColorizedParam>\n );\n }}\n />\n );\n\n const urlQueryParams = formState.queryParams\n .filter((p) => p.active)\n .map((p, i, arr) => (\n <Fragment key={p.name}>\n {p.name}={encodeURIComponent(p.value).replaceAll(\"%20\", \"+\")}\n {i < arr.length - 1 && \"&\"}\n <wbr />\n </Fragment>\n ));\n\n const serverSelect = (\n <div className=\"inline-block opacity-50 hover:opacity-100 transition\">\n {server ? (\n <span>{server.replace(/^https?:\\/\\//, \"\").replace(/\\/$/, \"\")}</span>\n ) : (\n servers.length > 1 && (\n <Select\n onValueChange={(value) => {\n startTransition(() => setSelectedServer(value));\n }}\n value={selectedServer}\n defaultValue={selectedServer}\n >\n <SelectTrigger className=\"p-0 border-none flex-row-reverse bg-transparent text-xs gap-0.5 h-auto translate-y-[4px]\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {servers.map((s) => (\n <SelectItem key={s} value={s}>\n {s.replace(/^https?:\\/\\//, \"\").replace(/\\/$/, \"\")}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n )}\n </div>\n );\n\n const showLogin = requiresLogin && !skipLogin;\n const isBodySupported = [\"POST\", \"PUT\", \"PATCH\", \"DELETE\"].includes(\n method.toUpperCase(),\n );\n\n return (\n <FormProvider\n {...{ register, control, handleSubmit, watch, setValue, ...form }}\n >\n <form\n onSubmit={handleSubmit((data) => {\n if (identities.data?.length === 0 || data.identity) {\n queryMutation.mutate(data);\n } else {\n setShowSelectIdentity(true);\n }\n })}\n ref={formRef}\n className=\"relative\"\n >\n <IdentityDialog\n identities={identities.data ?? []}\n open={showSelectIdentity}\n onOpenChange={setShowSelectIdentity}\n onSubmit={({ rememberedIdentity, identity }) => {\n if (rememberedIdentity) {\n setValue(\"identity\", identity ?? NO_IDENTITY);\n }\n setShowSelectIdentity(false);\n queryMutation.mutate({ ...formState, identity });\n }}\n />\n <RequestLoginDialog\n open={showLogin}\n setOpen={(open) => setSkipLogin(!open)}\n onSignUp={onSignUp}\n onLogin={onLogin}\n />\n\n <div className=\"grid grid-cols-2 text-sm h-full\">\n <div className=\"flex flex-col gap-4 p-4 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto\">\n <div className=\"flex gap-2 items-stretch\">\n <div className=\"flex flex-1 items-center w-full border rounded-md\">\n <div className=\"border-r p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono flex items-center\">\n {method.toUpperCase()}\n </div>\n <div className=\"items-center px-2 py-0.5 font-mono text-xs break-all leading-6\">\n {serverSelect}\n {path}\n {urlQueryParams.length > 0 ? \"?\" : \"\"}\n {urlQueryParams}\n </div>\n </div>\n\n <SubmitButton\n identities={identities.data ?? []}\n formRef={formRef}\n disabled={identities.isLoading || form.formState.isSubmitting}\n />\n </div>\n <Tabs defaultValue=\"parameters\">\n <div className=\"flex flex-wrap gap-1 justify-between\">\n <TabsList>\n <TabsTrigger value=\"parameters\">\n Parameters\n {(formState.pathParams.some((p) => p.value !== \"\") ||\n formState.queryParams.some((p) => p.active)) && (\n <div className=\"w-2 h-2 rounded-full bg-blue-400 ml-2\" />\n )}\n </TabsTrigger>\n <TabsTrigger value=\"headers\">\n Headers\n {formState.headers.filter((h) => h.active).length > 0 && (\n <div className=\"w-2 h-2 rounded-full bg-blue-400 ml-2\" />\n )}\n </TabsTrigger>\n <TabsTrigger value=\"auth\">\n Auth\n {formState.identity !== NO_IDENTITY && (\n <div className=\"w-2 h-2 rounded-full bg-blue-400 ml-2\" />\n )}\n </TabsTrigger>\n <TabsTrigger value=\"body\">\n Body\n {formState.body && (\n <div className=\"w-2 h-2 rounded-full bg-blue-400 ml-2\" />\n )}\n </TabsTrigger>\n </TabsList>\n </div>\n <TabsContent value=\"headers\">\n <Headers control={control} headers={headers} />\n </TabsContent>\n <TabsContent value=\"parameters\">\n {pathParams.length > 0 && (\n <div className=\"flex flex-col gap-4 my-4\">\n <span className=\"font-semibold\">Path Parameters</span>\n <PathParams url={url} control={control} />\n </div>\n )}\n <div className=\"flex flex-col gap-4 my-4\">\n <span className=\"font-semibold\">Query Parameters</span>\n <QueryParams control={control} queryParams={queryParams} />\n </div>\n </TabsContent>\n <TabsContent value=\"body\">\n {![\"POST\", \"PUT\", \"PATCH\", \"DELETE\"].includes(\n method.toUpperCase(),\n ) && (\n <Alert className=\"mb-2\">\n <InfoIcon className=\"w-4 h-4\" />\n <AlertTitle>Body</AlertTitle>\n <AlertDescription>\n Body is only supported for POST, PUT, PATCH, and DELETE\n requests\n </AlertDescription>\n </Alert>\n )}\n <Textarea\n {...register(\"body\")}\n className={cn(\n \"border w-full rounded-lg bg-muted/40 p-2 h-64 font-mono text-[13px]\",\n !isBodySupported && \"h-20 bg-muted\",\n )}\n placeholder={\n !isBodySupported\n ? \"This request does not support a body\"\n : undefined\n }\n disabled={!isBodySupported}\n />\n {isBodySupported && (\n <div className=\"flex items-center gap-2 mt-2 justify-between\">\n <Select\n value={formState.bodyContentType}\n onValueChange={(value) =>\n setValue(\n \"bodyContentType\",\n value as keyof typeof bodyContentTypeMap,\n )\n }\n >\n <SelectTrigger className=\"w-[100px]\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {Object.keys(bodyContentTypeMap).map((format) => (\n <SelectItem key={format} value={format}>\n {format}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {examples && examples.length > 0 && (\n <ExamplesDropdown\n examples={examples}\n onSelect={(example, mediaType) => {\n setValue(\n \"body\",\n JSON.stringify(example.value, null, 2),\n );\n\n const format = objectEntries(bodyContentTypeMap).find(\n ([_, contentType]) => contentType === mediaType,\n )?.[0];\n\n if (format) {\n setValue(\"bodyContentType\", format);\n }\n }}\n />\n )}\n </div>\n )}\n </TabsContent>\n <TabsContent value=\"auth\">\n <div className=\"flex flex-col gap-4 my-4\">\n {identities.data?.length === 0 && (\n <Alert>\n <InfoIcon className=\"w-4 h-4\" />\n <AlertTitle>Authentication</AlertTitle>\n <AlertDescription>\n No identities found. Please create an identity first.\n </AlertDescription>\n </Alert>\n )}\n <div className=\"flex flex-col items-center gap-2\">\n <IdentitySelector\n value={formState.identity}\n identities={identities.data ?? []}\n setValue={(value) => setValue(\"identity\", value)}\n />\n </div>\n </div>\n </TabsContent>\n </Tabs>\n </div>\n <ResultPanel\n queryMutation={queryMutation}\n showPathParamsWarning={formState.pathParams.some(\n (p) => p.value === \"\",\n )}\n showLongRunningWarning={showLongRunningWarning}\n onCancel={() => {\n abortControllerRef.current?.abort(\n \"Request cancelled by the user\",\n );\n setShowLongRunningWarning(false);\n }}\n />\n </div>\n </form>\n </FormProvider>\n );\n};\n\nexport default Playground;\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { type PropsWithChildren, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n DialogTrigger,\n} from \"zudoku/ui/Dialog.js\";\nimport { Playground, type PlaygroundContentProps } from \"./Playground.js\";\n\nexport type PlaygroundDialogProps = PropsWithChildren<PlaygroundContentProps>;\n\nconst HeroPlayIcon = ({\n className,\n size = 16,\n}: {\n className?: string;\n size?: number;\n}) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n className={className}\n width={size}\n height={size}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm14.024-.983a1.125 1.125 0 0 1 0 1.966l-5.603 3.113A1.125 1.125 0 0 1 9 15.113V8.887c0-.857.921-1.4 1.671-.983l5.603 3.113Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n\nconst PlaygroundDialog = (props: PlaygroundDialogProps) => {\n const [open, setOpen] = useState(false);\n return (\n <Dialog onOpenChange={(open) => setOpen(open)}>\n <DialogTrigger asChild>\n {props.children ?? (\n <button\n type=\"button\"\n className=\"flex gap-1 items-center px-2 py-1 rounded-md transition text-xs bg-primary text-primary-foreground shadow-sm hover:bg-primary/80\"\n >\n Test\n <HeroPlayIcon size={14} />\n </button>\n )}\n </DialogTrigger>\n\n <DialogContent\n className=\"max-w-screen-xl w-full h-5/6 overflow-hidden p-0\"\n aria-describedby={undefined}\n >\n <VisuallyHidden>\n <DialogTitle>Playground</DialogTitle>\n </VisuallyHidden>\n {open && <Playground {...props} />}\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { PlaygroundDialog };\n","import { ColorMap } from \"../../../components/navigation/SidebarBadge.js\";\n\nexport const MethodColorMap: Record<string, keyof typeof ColorMap> = {\n get: \"green\",\n post: \"blue\",\n put: \"yellow\",\n delete: \"red\",\n patch: \"purple\",\n options: \"gray\",\n head: \"gray\",\n};\n","import type { SidebarItem } from \"../../../../config/validators/SidebarSchema.js\";\nimport type { OperationResult } from \"../index.js\";\nimport { MethodColorMap } from \"./methodColorMap.js\";\n\nexport const createSidebarCategory = ({\n label,\n path,\n operations,\n collapsible,\n collapsed,\n}: {\n label: string;\n path: string;\n operations: OperationResult[];\n collapsible?: boolean;\n collapsed?: boolean;\n}): SidebarItem => ({\n type: \"category\",\n label,\n link: {\n type: \"doc\" as const,\n id: path,\n label,\n },\n collapsible,\n collapsed,\n items: operations.map((operation) => ({\n type: \"link\" as const,\n label: operation.summary ?? operation.path,\n href: `${path}#${operation.slug}`,\n badge: {\n label: operation.method,\n color: MethodColorMap[operation.method.toLowerCase()]!,\n invert: true,\n },\n })),\n});\n","import { redirect, type RouteObject } from \"react-router\";\nimport { joinUrl } from \"../../../util/joinUrl.js\";\nimport type { GraphQLClient } from \"../client/GraphQLClient.js\";\nimport { type OpenApiPluginOptions, UNTAGGED_PATH } from \"../index.js\";\nimport type { OasPluginConfig } from \"../interfaces.js\";\n\n// Creates the main provider route that wraps operation routes.\nconst createOasProvider = (opts: {\n routePath: string;\n basePath: string;\n version?: string;\n routes: RouteObject[];\n client: GraphQLClient;\n config: OpenApiPluginOptions;\n}): RouteObject => ({\n path: opts.routePath,\n async lazy() {\n const { OasProvider } = await import(\"../OasProvider.js\");\n return {\n element: (\n <OasProvider\n basePath={opts.basePath}\n version={opts.version}\n client={opts.client}\n config={opts.config}\n />\n ),\n };\n },\n children: opts.routes,\n});\n\n// Creates a route for displaying the operation list used for both tagged and untagged operations.\nconst createRoute = ({\n path,\n tag,\n untagged,\n}: {\n path: string;\n tag?: string;\n untagged?: boolean;\n}): RouteObject => ({\n path,\n async lazy() {\n const { OperationList } = await import(\"../OperationList.js\");\n return { element: <OperationList tag={tag} untagged={untagged} /> };\n },\n});\n\n// Creates routes for a specific version, including tag-based routes and the untagged operations route.\nconst createVersionRoutes = (\n versionPath: string,\n tagPages: string[],\n): RouteObject[] => {\n const firstTagRoute = joinUrl(versionPath, tagPages.at(0) ?? UNTAGGED_PATH);\n\n return [\n // Redirect to first tag on the index route\n { index: true, loader: () => redirect(firstTagRoute) },\n // Create routes for each tag\n ...tagPages.map((tag) =>\n createRoute({\n path: joinUrl(versionPath, tag),\n tag,\n }),\n ),\n // Category without tagged operations\n createRoute({\n path: joinUrl(versionPath, UNTAGGED_PATH),\n untagged: true,\n }),\n {\n path: joinUrl(versionPath, \"~schemas\"),\n lazy: async () => {\n const { SchemaList } = await import(\"../SchemaList.js\");\n return { element: <SchemaList /> };\n },\n },\n ];\n};\n\nexport const getVersions = (config: OasPluginConfig) =>\n config.type === \"file\" ? Object.keys(config.input) : [];\n\nexport const getRoutes = ({\n basePath,\n config,\n client,\n}: {\n client: GraphQLClient;\n config: OpenApiPluginOptions;\n basePath: string;\n}): RouteObject[] => {\n const tagPages = config.tagPages;\n\n // If the config does not provide tag pages the catch-all\n // route handles all operations on a single page\n if (!tagPages) {\n return [\n createOasProvider({\n basePath,\n routePath: basePath,\n routes: [createRoute({ path: basePath + \"/:tag?\" })],\n client,\n config,\n }),\n ];\n }\n\n const versions = getVersions(config);\n // The latest version always is added as index path\n const versionsInPath =\n versions.length > 1 ? [undefined, ...versions] : [undefined];\n\n return versionsInPath.map((version) => {\n const versionPath = joinUrl(basePath, version);\n return createOasProvider({\n basePath,\n version,\n routePath: versionPath,\n routes: createVersionRoutes(versionPath, tagPages),\n client,\n config,\n });\n });\n};\n","import { CirclePlayIcon, LogInIcon } from \"lucide-react\";\nimport { type ReactNode } from \"react\";\nimport { matchPath } from \"react-router\";\nimport { useAuth } from \"../../authentication/hook.js\";\nimport { type ZudokuPlugin } from \"../../core/plugins.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { GraphQLClient } from \"./client/GraphQLClient.js\";\nimport type { GetSidebarOperationsQuery } from \"./graphql/graphql.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { type OasPluginConfig } from \"./interfaces.js\";\nimport type { PlaygroundContentProps } from \"./playground/Playground.js\";\nimport { PlaygroundDialog } from \"./playground/PlaygroundDialog.js\";\nimport { createSidebarCategory } from \"./util/createSidebarCategory.js\";\nimport { getRoutes, getVersions } from \"./util/getRoutes.js\";\n\nconst GetSidebarOperationsQuery = graphql(`\n query GetSidebarOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n tags {\n slug\n name\n extensions\n operations {\n summary\n slug\n method\n operationId\n path\n }\n }\n components {\n schemas {\n __typename\n }\n }\n }\n }\n`);\n\nexport type OperationResult =\n GetSidebarOperationsQuery[\"schema\"][\"tags\"][number][\"operations\"][number];\n\nexport type OpenApiPluginOptions = OasPluginConfig;\n\nexport const UNTAGGED_PATH = \"~endpoints\";\n\nexport const openApiPlugin = (config: OasPluginConfig): ZudokuPlugin => {\n const basePath = joinUrl(config.navigationId ?? \"/reference\");\n const client = new GraphQLClient(config);\n\n return {\n getHead: () => {\n if (config.type === \"url\" && !config.skipPreload) {\n return (\n <link\n rel=\"preload\"\n href={config.input}\n as=\"fetch\"\n crossOrigin=\"anonymous\"\n />\n );\n }\n\n if (config.server) {\n return <link rel=\"preconnect\" href={config.server} />;\n }\n },\n getMdxComponents: () => ({\n OpenPlaygroundButton: ({\n requireAuth,\n server,\n method,\n url,\n children,\n ...props\n }: Partial<PlaygroundContentProps> & { children: ReactNode } & Pick<\n PlaygroundContentProps,\n \"server\"\n > & {\n requireAuth: boolean;\n }) => {\n const auth = useAuth();\n\n if (!server) {\n throw new Error(\"Server is required\");\n }\n\n if (requireAuth && !auth.isAuthenticated) {\n return (\n <Button\n className=\"gap-2 items-center\"\n variant=\"outline\"\n onClick={auth.login}\n >\n Login to open in Playground <LogInIcon size={16} />\n </Button>\n );\n }\n\n return (\n <PlaygroundDialog\n url={url ?? \"/\"}\n method={method ?? \"get\"}\n server={server}\n {...props}\n >\n <Button className=\"gap-2 items-center\" variant=\"outline\">\n {children ?? (\n <>\n Open in Playground <CirclePlayIcon size={16} />\n </>\n )}\n </Button>\n </PlaygroundDialog>\n );\n },\n }),\n getSidebar: async (path, context) => {\n if (!matchPath({ path: basePath, end: false }, path)) {\n return [];\n }\n\n const match = matchPath(\n { path: `${basePath}/:version?/:tag`, end: true },\n path,\n );\n\n try {\n const versionParam = match?.params.version;\n const version = versionParam ?? getVersions(config).at(0);\n const { type } = config;\n const input = type === \"file\" ? config.input[version!] : config.input;\n\n const data = await context.queryClient.ensureQueryData({\n queryKey: [\"sidebar-operations-query\", input],\n queryFn: () =>\n client.fetch(GetSidebarOperationsQuery, { type, input }),\n });\n\n const categories = data.schema.tags.flatMap((tag) => {\n if (!tag.name || tag.operations.length === 0) return [];\n\n const categoryPath = joinUrl(basePath, versionParam, tag.slug);\n\n const isCollapsed =\n tag.extensions?.[\"x-zudoku-collapsed\"] ??\n !config.options?.expandAllTags;\n const isCollapsible =\n tag.extensions?.[\"x-zudoku-collapsible\"] ?? true;\n\n return createSidebarCategory({\n label: tag.name,\n path: categoryPath,\n operations: tag.operations,\n collapsed: isCollapsed,\n collapsible: isCollapsible,\n });\n });\n\n const untaggedOperations = data.schema.tags.find(\n (tag) => !tag.name,\n )?.operations;\n\n if (untaggedOperations) {\n categories.push(\n createSidebarCategory({\n label: \"Other endpoints\",\n path: joinUrl(basePath, versionParam, UNTAGGED_PATH),\n operations: untaggedOperations,\n collapsed: !config.options?.expandAllTags,\n }),\n );\n }\n\n if (data.schema.components?.schemas?.length) {\n categories.push({\n type: \"link\" as const,\n label: \"Schemas\",\n href: joinUrl(basePath, versionParam, \"~schemas\"),\n });\n }\n\n return categories;\n } catch {\n return [];\n }\n },\n getRoutes: () => getRoutes({ basePath, config, client }),\n };\n};\n"],"names":["localServerPromise","throwIfError","response","_a","ZudokuError","GraphQLClient","config","__privateAdd","_getLocalServer","m","_executeFetch","init","__privateGet","__publicField","query","variables","operationName","result","TypedDocumentString","value","__meta__","OperationsFragmentFragmentDoc","ServersQueryDocument","SchemaWarmupDocument","OperationsForTagDocument","GetSchemasDocument","GetServerQueryDocument","GetSidebarOperationsDocument","documents","types.ServersQueryDocument","types.OperationsFragmentFragmentDoc","types.SchemaWarmupDocument","types.OperationsForTagDocument","types.GetSchemasDocument","types.GetServerQueryDocument","types.GetSidebarOperationsDocument","graphql","source","alertVariants","cva","Alert","React","className","variant","props","ref","jsx","cn","AlertTitle","AlertDescription","PathRenderer","path","renderParam","paramIndex","part","i","arr","matches","elements","lastIndex","match","originalValue","name","startIndex","Fragment","Textarea","c2n","c","s2n","s","a","pastellize","options","hue","saturation","lightness","DATA_ATTR","usePastellizedColor","resolvedTheme","useTheme","ColorizedParam","slug","title","children","onClick","useRef","normalizedSlug","normalized","text","background","textColor","backgroundColor","borderColor","useEffect","onMouseEnter","el","onMouseLeave","useSelectedServerStore","create","persist","set","newServer","useSelectedServer","servers","selectedServer","setSelectedServer","useMemo","createUrl","host","data","filledPath","key","url","param","DropdownMenu","DropdownMenuPrimitive","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuSubTrigger","inset","jsxs","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","CheckIcon","DropdownMenuRadioItem","DotIcon","DropdownMenuLabel","DropdownMenuSeparator","ExamplesDropdown","examples","onSelect","Button","mediaTypeObject","example","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Checkbox","CheckboxPrimitive","Check","Popover","PopoverPrimitive","PopoverContent","align","AutocompletePopover","onChange","placeholder","onEnterPress","open","setOpen","useState","dontClose","setDontClose","count","useCommandState","state","inputRef","PopoverAnchor","CommandInlineInput","e","CommandList","enumValue","CommandItem","selected","Autocomplete","shouldFilter","Command","createVariantComponent","tag","cvx","MyVariant","asChild","Comp","Slot","ParamsGrid","ParamsGridItem","headerOptions","Headers","control","schemaHeaders","fields","append","remove","useFieldArray","setValue","watch","useFormContext","valueRefs","nameRefs","watchedHeaders","addNewHeader","useCallback","handleHeaderEnter","index","handleValueEnter","missingHeaders","h","f","field","currentHeader","Controller","Input","XIcon","labelVariants","Label","LabelPrimitive","RadioGroup","RadioGroupPrimitive","RadioGroupItem","Circle","IdentitySelector","identities","NO_IDENTITY","identity","IdentityDialog","onSubmit","onOpenChange","setIdentity","rememberedIdentity","setRememberedIdentity","Dialog","DialogContent","DialogTitle","DialogDescription","DialogFooter","PathParams","sortedFields","b","InlineInput","QueryParams","queryParams","form","requiredFields","currentParam","useIdentityStore","get","availableIdentities","createJSONStorage","RequestLoginDialog","onSignUp","onLogin","TextColorMap","methodToColor","methodForColor","method","RequestTab","headers","body","Collapsible","CollapsibleTrigger","CollapsibleContent","CollapsiblePrimitive","inferType","firstValue","generateInterface","obj","indentation","lines","propertyType","convertToTypes","json","statusCodeMap","humanFileSize","bytes","exponent","mimeTypeToLanguage","mimeType","mime","detectLanguage","contentType","tryParseJson","sortHeadersByRelevance","priorityOrder","keyA","keyB","indexA","indexB","SYNTAX_HIGHLIGHT_MAX_SIZE_THRESHOLD","ResponseTab","status","time","size","detectedLanguage","jsonContent","beautifiedBody","view","setView","types","useQuery","sortedHeaders","shouldDisableHighlighting","Callout","SyntaxHighlight","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","ResultPanel","queryMutation","showPathParamsWarning","showLongRunningWarning","onCancel","Tabs","TabsList","TabsTrigger","TabsContent","Spinner","SubmitButton","formRef","disabled","dropdownValue","setDropdownValue","ChevronDownIcon","bodyContentTypeMap","Playground","server","pathParams","defaultBody","requiresLogin","showSelectIdentity","setShowSelectIdentity","useApiIdentities","getRememberedIdentity","startTransition","useTransition","skipLogin","setSkipLogin","setShowLongRunningWarning","abortControllerRef","latestSetRememberedIdentity","useLatest","register","handleSubmit","useForm","header","formState","useMutation","start","shouldSetContentType","request","_b","warningTimeout","error","formValue","urlQueryParams","p","serverSelect","showLogin","isBodySupported","FormProvider","InfoIcon","format","mediaType","objectEntries","_","HeroPlayIcon","PlaygroundDialog","DialogTrigger","VisuallyHidden","MethodColorMap","createSidebarCategory","label","operations","collapsible","collapsed","operation","createOasProvider","opts","OasProvider","createRoute","untagged","OperationList","createVersionRoutes","versionPath","tagPages","firstTagRoute","joinUrl","UNTAGGED_PATH","redirect","SchemaList","getVersions","getRoutes","basePath","client","versions","version","GetSidebarOperationsQuery","openApiPlugin","requireAuth","auth","useAuth","LogInIcon","CirclePlayIcon","context","matchPath","versionParam","type","input","categories","categoryPath","isCollapsed","isCollapsible","_c","untaggedOperations","_d"],"mappings":"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"}