zudoku 0.0.0-fix-create-zudoku-run-build.eff26864 → 0.0.0-fix-downgrade-openapi-parser.aac00796

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 (717) hide show
  1. package/README.md +32 -12
  2. package/client.d.ts +8 -0
  3. package/dist/app/entry.server.js +14 -1
  4. package/dist/app/entry.server.js.map +1 -1
  5. package/dist/cli/cli.d.ts +9 -0
  6. package/dist/cli/cli.js +4 -10
  7. package/dist/cli/cli.js.map +1 -1
  8. package/dist/cli/common/version-check.d.ts +2 -0
  9. package/dist/cli/common/version-check.js +58 -0
  10. package/dist/cli/common/version-check.js.map +1 -0
  11. package/dist/config/config.d.ts +6 -1
  12. package/dist/config/validators/BuildSchema.d.ts +15 -7
  13. package/dist/config/validators/BuildSchema.js +19 -2
  14. package/dist/config/validators/BuildSchema.js.map +1 -1
  15. package/dist/config/validators/InputNavigationSchema.d.ts +184 -24
  16. package/dist/config/validators/InputNavigationSchema.js +1 -0
  17. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  18. package/dist/config/validators/icon-types.d.ts +1 -1
  19. package/dist/config/validators/icon-types.js +39 -0
  20. package/dist/config/validators/icon-types.js.map +1 -1
  21. package/dist/config/validators/validate.d.ts +45 -17
  22. package/dist/config/validators/validate.js +31 -8
  23. package/dist/config/validators/validate.js.map +1 -1
  24. package/dist/flat-config.d.ts +357 -0
  25. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  26. package/dist/lib/assets/language-icons/c.js +4 -0
  27. package/dist/lib/assets/language-icons/c.js.map +1 -0
  28. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  29. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  30. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  31. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  32. package/dist/lib/assets/language-icons/cpp.js +4 -0
  33. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  34. package/dist/lib/assets/language-icons/csharp.d.ts +3 -0
  35. package/dist/lib/assets/language-icons/csharp.js +4 -0
  36. package/dist/lib/assets/language-icons/csharp.js.map +1 -0
  37. package/dist/lib/assets/language-icons/css.d.ts +3 -0
  38. package/dist/lib/assets/language-icons/css.js +4 -0
  39. package/dist/lib/assets/language-icons/css.js.map +1 -0
  40. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  41. package/dist/lib/assets/language-icons/dart.js +4 -0
  42. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  43. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  44. package/dist/lib/assets/language-icons/elixir.js +4 -0
  45. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  46. package/dist/lib/assets/language-icons/go.d.ts +3 -0
  47. package/dist/lib/assets/language-icons/go.js +4 -0
  48. package/dist/lib/assets/language-icons/go.js.map +1 -0
  49. package/dist/lib/assets/language-icons/graphql.d.ts +3 -0
  50. package/dist/lib/assets/language-icons/graphql.js +4 -0
  51. package/dist/lib/assets/language-icons/graphql.js.map +1 -0
  52. package/dist/lib/assets/language-icons/html.d.ts +3 -0
  53. package/dist/lib/assets/language-icons/html.js +4 -0
  54. package/dist/lib/assets/language-icons/html.js.map +1 -0
  55. package/dist/lib/assets/language-icons/java.d.ts +3 -0
  56. package/dist/lib/assets/language-icons/java.js +4 -0
  57. package/dist/lib/assets/language-icons/java.js.map +1 -0
  58. package/dist/lib/assets/language-icons/javascript.d.ts +3 -0
  59. package/dist/lib/assets/language-icons/javascript.js +4 -0
  60. package/dist/lib/assets/language-icons/javascript.js.map +1 -0
  61. package/dist/lib/assets/language-icons/json.d.ts +3 -0
  62. package/dist/lib/assets/language-icons/json.js +4 -0
  63. package/dist/lib/assets/language-icons/json.js.map +1 -0
  64. package/dist/lib/assets/language-icons/kotlin.d.ts +3 -0
  65. package/dist/lib/assets/language-icons/kotlin.js +4 -0
  66. package/dist/lib/assets/language-icons/kotlin.js.map +1 -0
  67. package/dist/lib/assets/language-icons/markdown.d.ts +3 -0
  68. package/dist/lib/assets/language-icons/markdown.js +4 -0
  69. package/dist/lib/assets/language-icons/markdown.js.map +1 -0
  70. package/dist/lib/assets/language-icons/mdx.d.ts +3 -0
  71. package/dist/lib/assets/language-icons/mdx.js +4 -0
  72. package/dist/lib/assets/language-icons/mdx.js.map +1 -0
  73. package/dist/lib/assets/language-icons/objectivec.d.ts +3 -0
  74. package/dist/lib/assets/language-icons/objectivec.js +4 -0
  75. package/dist/lib/assets/language-icons/objectivec.js.map +1 -0
  76. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  77. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  78. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  79. package/dist/lib/assets/language-icons/php.d.ts +3 -0
  80. package/dist/lib/assets/language-icons/php.js +4 -0
  81. package/dist/lib/assets/language-icons/php.js.map +1 -0
  82. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  83. package/dist/lib/assets/language-icons/powershell.js +4 -0
  84. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  85. package/dist/lib/assets/language-icons/python.d.ts +3 -0
  86. package/dist/lib/assets/language-icons/python.js +4 -0
  87. package/dist/lib/assets/language-icons/python.js.map +1 -0
  88. package/dist/lib/assets/language-icons/react.d.ts +3 -0
  89. package/dist/lib/assets/language-icons/react.js +4 -0
  90. package/dist/lib/assets/language-icons/react.js.map +1 -0
  91. package/dist/lib/assets/language-icons/ruby.d.ts +3 -0
  92. package/dist/lib/assets/language-icons/ruby.js +4 -0
  93. package/dist/lib/assets/language-icons/ruby.js.map +1 -0
  94. package/dist/lib/assets/language-icons/rust.d.ts +3 -0
  95. package/dist/lib/assets/language-icons/rust.js +4 -0
  96. package/dist/lib/assets/language-icons/rust.js.map +1 -0
  97. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  98. package/dist/lib/assets/language-icons/scala.js +4 -0
  99. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  100. package/dist/lib/assets/language-icons/shell.d.ts +3 -0
  101. package/dist/lib/assets/language-icons/shell.js +4 -0
  102. package/dist/lib/assets/language-icons/shell.js.map +1 -0
  103. package/dist/lib/assets/language-icons/swift.d.ts +3 -0
  104. package/dist/lib/assets/language-icons/swift.js +4 -0
  105. package/dist/lib/assets/language-icons/swift.js.map +1 -0
  106. package/dist/lib/assets/language-icons/toml.d.ts +3 -0
  107. package/dist/lib/assets/language-icons/toml.js +4 -0
  108. package/dist/lib/assets/language-icons/toml.js.map +1 -0
  109. package/dist/lib/assets/language-icons/typescript.d.ts +3 -0
  110. package/dist/lib/assets/language-icons/typescript.js +4 -0
  111. package/dist/lib/assets/language-icons/typescript.js.map +1 -0
  112. package/dist/lib/assets/language-icons/xml.d.ts +3 -0
  113. package/dist/lib/assets/language-icons/xml.js +4 -0
  114. package/dist/lib/assets/language-icons/xml.js.map +1 -0
  115. package/dist/lib/assets/language-icons/yaml.d.ts +3 -0
  116. package/dist/lib/assets/language-icons/yaml.js +4 -0
  117. package/dist/lib/assets/language-icons/yaml.js.map +1 -0
  118. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  119. package/dist/lib/assets/language-icons/zig.js +4 -0
  120. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  121. package/dist/lib/authentication/authentication.d.ts +17 -9
  122. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  123. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  124. package/dist/lib/authentication/components/SignIn.js +6 -5
  125. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  126. package/dist/lib/authentication/components/SignOut.js +6 -6
  127. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  128. package/dist/lib/authentication/components/SignUp.js +5 -5
  129. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  130. package/dist/lib/authentication/hook.d.ts +3 -2
  131. package/dist/lib/authentication/hook.js +12 -8
  132. package/dist/lib/authentication/hook.js.map +1 -1
  133. package/dist/lib/authentication/providers/auth0.js +8 -4
  134. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  135. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  136. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  137. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  138. package/dist/lib/authentication/providers/clerk.js +2 -2
  139. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  140. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  141. package/dist/lib/authentication/providers/openid.js +5 -3
  142. package/dist/lib/authentication/providers/openid.js.map +1 -1
  143. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  144. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  145. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  146. package/dist/lib/authentication/providers/supabase.js +35 -31
  147. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  148. package/dist/lib/authentication/state.d.ts +5 -7
  149. package/dist/lib/authentication/state.js +2 -14
  150. package/dist/lib/authentication/state.js.map +1 -1
  151. package/dist/lib/components/BuildCheck.js +2 -2
  152. package/dist/lib/components/BuildCheck.js.map +1 -1
  153. package/dist/lib/components/Heading.js +1 -5
  154. package/dist/lib/components/Heading.js.map +1 -1
  155. package/dist/lib/components/LanguageIcon.d.ts +3 -0
  156. package/dist/lib/components/LanguageIcon.js +163 -0
  157. package/dist/lib/components/LanguageIcon.js.map +1 -0
  158. package/dist/lib/components/Main.js +1 -1
  159. package/dist/lib/components/Main.js.map +1 -1
  160. package/dist/lib/components/Meta.js +1 -1
  161. package/dist/lib/components/Meta.js.map +1 -1
  162. package/dist/lib/components/Zudoku.js +3 -3
  163. package/dist/lib/components/cache.d.ts +3 -1
  164. package/dist/lib/components/cache.js +3 -5
  165. package/dist/lib/components/cache.js.map +1 -1
  166. package/dist/lib/components/context/ZudokuContext.js +10 -2
  167. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  168. package/dist/lib/components/index.d.ts +14 -4
  169. package/dist/lib/components/index.js +2 -0
  170. package/dist/lib/components/index.js.map +1 -1
  171. package/dist/lib/components/navigation/NavigationItem.js +1 -1
  172. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  173. package/dist/lib/components/navigation/Toc.js +1 -1
  174. package/dist/lib/components/navigation/Toc.js.map +1 -1
  175. package/dist/lib/core/RouteGuard.d.ts +1 -1
  176. package/dist/lib/core/RouteGuard.js +6 -14
  177. package/dist/lib/core/RouteGuard.js.map +1 -1
  178. package/dist/lib/core/ZudokuContext.d.ts +1 -0
  179. package/dist/lib/core/ZudokuContext.js +2 -0
  180. package/dist/lib/core/ZudokuContext.js.map +1 -1
  181. package/dist/lib/core/__internal.d.ts +1 -1
  182. package/dist/lib/hooks/index.d.ts +3 -3
  183. package/dist/lib/oas/graphql/index.js +37 -2
  184. package/dist/lib/oas/graphql/index.js.map +1 -1
  185. package/dist/lib/plugins/api-catalog/Catalog.js +7 -1
  186. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  187. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
  188. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js +9 -0
  189. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js.map +1 -0
  190. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +5 -10
  191. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  192. package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
  193. package/dist/lib/plugins/markdown/MdxPage.js +29 -5
  194. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  195. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  196. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  197. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  198. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  199. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  200. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  201. package/dist/lib/plugins/markdown/index.d.ts +3 -1
  202. package/dist/lib/plugins/markdown/index.js +1 -1
  203. package/dist/lib/plugins/markdown/index.js.map +1 -1
  204. package/dist/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
  205. package/dist/lib/plugins/openapi/MCPEndpoint.js +56 -0
  206. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -0
  207. package/dist/lib/plugins/openapi/OperationList.d.ts +0 -2
  208. package/dist/lib/plugins/openapi/OperationList.js +22 -6
  209. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  210. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -2
  211. package/dist/lib/plugins/openapi/OperationListItem.js +8 -3
  212. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  213. package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -2
  214. package/dist/lib/plugins/openapi/ParameterList.js +1 -1
  215. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  216. package/dist/lib/plugins/openapi/ParameterListItem.d.ts +2 -3
  217. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  218. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -4
  219. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +1 -3
  220. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  221. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +2 -2
  222. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  223. package/dist/lib/plugins/openapi/Sidecar.d.ts +4 -3
  224. package/dist/lib/plugins/openapi/Sidecar.js +6 -9
  225. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  226. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +2 -4
  227. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  228. package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +1 -1
  229. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  230. package/dist/lib/plugins/openapi/graphql/gql.d.ts +2 -2
  231. package/dist/lib/plugins/openapi/graphql/gql.js +3 -2
  232. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  233. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +11 -2
  234. package/dist/lib/plugins/openapi/graphql/graphql.js +11 -0
  235. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  236. package/dist/lib/plugins/openapi/index.js +5 -10
  237. package/dist/lib/plugins/openapi/index.js.map +1 -1
  238. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -2
  239. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +2 -2
  240. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  241. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +1 -1
  242. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  243. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +3 -3
  244. package/dist/lib/plugins/openapi/playground/Playground.d.ts +2 -2
  245. package/dist/lib/plugins/openapi/playground/Playground.js +13 -3
  246. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  247. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -1
  248. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  249. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  250. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  251. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  252. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +5 -3
  253. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  254. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  255. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  256. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +33 -19
  257. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  258. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  259. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  260. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +5 -3
  261. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  262. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  263. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +2 -1
  264. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +2 -2
  265. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +1 -1
  266. package/dist/lib/plugins/openapi/schema/SchemaView.js +5 -5
  267. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  268. package/dist/lib/plugins/openapi/schema/UnionView.d.ts +2 -1
  269. package/dist/lib/plugins/openapi/schema/UnionView.js +13 -7
  270. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  271. package/dist/lib/plugins/openapi/schema/union-helpers.js +25 -1
  272. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  273. package/dist/lib/plugins/openapi/state.d.ts +5 -3
  274. package/dist/lib/shiki.d.ts +1 -1
  275. package/dist/lib/shiki.js +26 -2
  276. package/dist/lib/shiki.js.map +1 -1
  277. package/dist/lib/ui/Callout.d.ts +5 -5
  278. package/dist/lib/ui/Callout.js +5 -5
  279. package/dist/lib/ui/Callout.js.map +1 -1
  280. package/dist/lib/ui/Carousel.js.map +1 -1
  281. package/dist/lib/ui/CodeBlock.d.ts +1 -1
  282. package/dist/lib/ui/CodeBlock.js +3 -28
  283. package/dist/lib/ui/CodeBlock.js.map +1 -1
  284. package/dist/lib/ui/Dialog.d.ts +12 -18
  285. package/dist/lib/ui/Dialog.js +30 -17
  286. package/dist/lib/ui/Dialog.js.map +1 -1
  287. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -1
  288. package/dist/lib/ui/EmbeddedCodeBlock.js +2 -2
  289. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  290. package/dist/lib/ui/ReactComponentDoc.d.ts +20 -0
  291. package/dist/lib/ui/ReactComponentDoc.js +10 -0
  292. package/dist/lib/ui/ReactComponentDoc.js.map +1 -0
  293. package/dist/lib/ui/Secret.d.ts +18 -0
  294. package/dist/lib/ui/Secret.js +26 -0
  295. package/dist/lib/ui/Secret.js.map +1 -0
  296. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  297. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  298. package/dist/lib/ui/Value.d.ts +5 -0
  299. package/dist/lib/ui/Value.js +13 -0
  300. package/dist/lib/ui/Value.js.map +1 -0
  301. package/dist/lib/util/MdxComponents.d.ts +2 -1
  302. package/dist/lib/util/MdxComponents.js +3 -2
  303. package/dist/lib/util/MdxComponents.js.map +1 -1
  304. package/dist/lib/util/pastellize.js +4 -4
  305. package/dist/lib/util/pastellize.js.map +1 -1
  306. package/dist/lib/util/syncZustandState.d.ts +5 -0
  307. package/dist/lib/util/syncZustandState.js +14 -0
  308. package/dist/lib/util/syncZustandState.js.map +1 -0
  309. package/dist/lib/util/traverse.d.ts +1 -0
  310. package/dist/lib/util/traverse.js +25 -0
  311. package/dist/lib/util/traverse.js.map +1 -1
  312. package/dist/vite/api/SchemaManager.d.ts +3 -1
  313. package/dist/vite/api/SchemaManager.js +32 -9
  314. package/dist/vite/api/SchemaManager.js.map +1 -1
  315. package/dist/vite/api/SchemaManager.test.js +2 -2
  316. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  317. package/dist/vite/api/schema-codegen.js +60 -41
  318. package/dist/vite/api/schema-codegen.js.map +1 -1
  319. package/dist/vite/api/schema-codegen.test.js +75 -2
  320. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  321. package/dist/vite/llms.d.ts +12 -0
  322. package/dist/vite/llms.js +66 -0
  323. package/dist/vite/llms.js.map +1 -0
  324. package/dist/vite/plugin-api.js +18 -17
  325. package/dist/vite/plugin-api.js.map +1 -1
  326. package/dist/vite/plugin-docs.d.ts +9 -0
  327. package/dist/vite/plugin-docs.js +68 -45
  328. package/dist/vite/plugin-docs.js.map +1 -1
  329. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  330. package/dist/vite/plugin-markdown-export.js +141 -0
  331. package/dist/vite/plugin-markdown-export.js.map +1 -0
  332. package/dist/vite/plugin-mdx.d.ts +1 -1
  333. package/dist/vite/plugin-mdx.js +41 -32
  334. package/dist/vite/plugin-mdx.js.map +1 -1
  335. package/dist/vite/plugin-navigation.js +4 -0
  336. package/dist/vite/plugin-navigation.js.map +1 -1
  337. package/dist/vite/plugin.js +2 -0
  338. package/dist/vite/plugin.js.map +1 -1
  339. package/dist/vite/prerender/prerender.js +37 -4
  340. package/dist/vite/prerender/prerender.js.map +1 -1
  341. package/dist/zuplo/enrich-with-zuplo-mcp.d.ts +4 -0
  342. package/dist/zuplo/enrich-with-zuplo-mcp.js +117 -0
  343. package/dist/zuplo/enrich-with-zuplo-mcp.js.map +1 -0
  344. package/dist/zuplo/enrich-with-zuplo.d.ts +1 -0
  345. package/dist/zuplo/enrich-with-zuplo.js +1 -1
  346. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  347. package/dist/zuplo/with-zuplo-processors.js +2 -0
  348. package/dist/zuplo/with-zuplo-processors.js.map +1 -1
  349. package/lib/{Button-B3o-2Xdf.js → Button-DmS4u8Lj.js} +2 -2
  350. package/lib/{Button-B3o-2Xdf.js.map → Button-DmS4u8Lj.js.map} +1 -1
  351. package/lib/{Card-CMDQUPM4.js → Card-KFniaZn5.js} +2 -2
  352. package/lib/{Card-CMDQUPM4.js.map → Card-KFniaZn5.js.map} +1 -1
  353. package/lib/{CategoryHeading-DCpZu3yG.js → CategoryHeading-DhmodDcq.js} +2 -2
  354. package/lib/{CategoryHeading-DCpZu3yG.js.map → CategoryHeading-DhmodDcq.js.map} +1 -1
  355. package/lib/{Command-CUSlH0gJ.js → Command-CUcrW3qs.js} +3 -3
  356. package/lib/{Command-CUSlH0gJ.js.map → Command-CUcrW3qs.js.map} +1 -1
  357. package/lib/Dialog-BQciPiHN.js +144 -0
  358. package/lib/Dialog-BQciPiHN.js.map +1 -0
  359. package/lib/{Drawer-DJ05s2pH.js → Drawer-Ci7XwhqT.js} +2 -2
  360. package/lib/{Drawer-DJ05s2pH.js.map → Drawer-Ci7XwhqT.js.map} +1 -1
  361. package/lib/DropdownMenu-BZ2NKQ3K.js +126 -0
  362. package/lib/DropdownMenu-BZ2NKQ3K.js.map +1 -0
  363. package/lib/{Slot-BbdqiRXo.js → ErrorAlert-DE3Sf66a.js} +2176 -2251
  364. package/lib/ErrorAlert-DE3Sf66a.js.map +1 -0
  365. package/lib/MdxPage-DZfeC0QY.js +240 -0
  366. package/lib/MdxPage-DZfeC0QY.js.map +1 -0
  367. package/lib/{OAuthErrorPage-rAKHHveX.js → OAuthErrorPage-BycMozgn.js} +9 -9
  368. package/lib/{OAuthErrorPage-rAKHHveX.js.map → OAuthErrorPage-BycMozgn.js.map} +1 -1
  369. package/lib/{OasProvider-BW4OzAuR.js → OasProvider-Bf5zBDBY.js} +4 -4
  370. package/lib/{OasProvider-BW4OzAuR.js.map → OasProvider-Bf5zBDBY.js.map} +1 -1
  371. package/lib/OperationList-Cmiw1xm2.js +5446 -0
  372. package/lib/OperationList-Cmiw1xm2.js.map +1 -0
  373. package/lib/{Pagination-ZI2yyuxj.js → Pagination-CJszmeSA.js} +4 -4
  374. package/lib/{Pagination-ZI2yyuxj.js.map → Pagination-CJszmeSA.js.map} +1 -1
  375. package/lib/RouteGuard-DhU3LRr1.js +81 -0
  376. package/lib/RouteGuard-DhU3LRr1.js.map +1 -0
  377. package/lib/{RouterError-BYHrbLtD.js → RouterError-VDLnrFqF.js} +7 -7
  378. package/lib/{RouterError-BYHrbLtD.js.map → RouterError-VDLnrFqF.js.map} +1 -1
  379. package/lib/{SchemaList-C4Sk-tLI.js → SchemaList-xZSf3IMh.js} +10 -10
  380. package/lib/{SchemaList-C4Sk-tLI.js.map → SchemaList-xZSf3IMh.js.map} +1 -1
  381. package/lib/SchemaView-tHXTm5oM.js +458 -0
  382. package/lib/SchemaView-tHXTm5oM.js.map +1 -0
  383. package/lib/Select-C1DeCqKv.js +372 -0
  384. package/lib/Select-C1DeCqKv.js.map +1 -0
  385. package/lib/SignUp-6SGx9Yyq.js +50 -0
  386. package/lib/SignUp-6SGx9Yyq.js.map +1 -0
  387. package/lib/{Spinner-mNLZ6awP.js → Spinner-CI6bRyZw.js} +2 -2
  388. package/lib/{Spinner-mNLZ6awP.js.map → Spinner-CI6bRyZw.js.map} +1 -1
  389. package/lib/{SyntaxHighlight-CvzJ7DNa.js → SyntaxHighlight-zvlnSnHB.js} +815 -784
  390. package/lib/SyntaxHighlight-zvlnSnHB.js.map +1 -0
  391. package/lib/{Toc-BAa-kpqN.js → Toc-Da9yp7lo.js} +6 -6
  392. package/lib/Toc-Da9yp7lo.js.map +1 -0
  393. package/lib/ZudokuContext-BUZ5hkWB.js +1508 -0
  394. package/lib/ZudokuContext-BUZ5hkWB.js.map +1 -0
  395. package/lib/c-B-NUhs61.js +46 -0
  396. package/lib/c-B-NUhs61.js.map +1 -0
  397. package/lib/chunk-PVWAREVJ-BMhpCH5D.js +7965 -0
  398. package/lib/chunk-PVWAREVJ-BMhpCH5D.js.map +1 -0
  399. package/lib/{circular-BFte5TUt.js → circular-DvuimBGQ.js} +30 -30
  400. package/lib/{circular-BFte5TUt.js.map → circular-DvuimBGQ.js.map} +1 -1
  401. package/lib/commonlisp-De080z23.js +28 -0
  402. package/lib/commonlisp-De080z23.js.map +1 -0
  403. package/lib/cpp-79Paht7T.js +53 -0
  404. package/lib/cpp-79Paht7T.js.map +1 -0
  405. package/lib/{createServer-B4giw6jv.js → createServer-D9UvCoDf.js} +3411 -3342
  406. package/lib/createServer-D9UvCoDf.js.map +1 -0
  407. package/lib/csharp-D8MIL50B.js +53 -0
  408. package/lib/csharp-D8MIL50B.js.map +1 -0
  409. package/lib/css-Bt6hr1td.js +54 -0
  410. package/lib/css-Bt6hr1td.js.map +1 -0
  411. package/lib/dart-B0vy1jWB.js +60 -0
  412. package/lib/dart-B0vy1jWB.js.map +1 -0
  413. package/lib/elixir-Ds8r0sF8.js +25 -0
  414. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  415. package/lib/{errors-CjmCml50.js → errors-CuGgh3hf.js} +3 -3
  416. package/lib/{errors-CjmCml50.js.map → errors-CuGgh3hf.js.map} +1 -1
  417. package/lib/go-D2VsmIOS.js +25 -0
  418. package/lib/go-D2VsmIOS.js.map +1 -0
  419. package/lib/graphql-BtA6M4m5.js +25 -0
  420. package/lib/graphql-BtA6M4m5.js.map +1 -0
  421. package/lib/hook-CMeoxziF.js +40 -0
  422. package/lib/hook-CMeoxziF.js.map +1 -0
  423. package/lib/html-MGnI2uzP.js +33 -0
  424. package/lib/html-MGnI2uzP.js.map +1 -0
  425. package/lib/{index-BuKx9nrj.js → index-B1rmok4X.js} +209 -207
  426. package/lib/index-B1rmok4X.js.map +1 -0
  427. package/lib/{index-Dp3Fmnfq.js → index-Cr9_YzOZ.js} +908 -938
  428. package/lib/index-Cr9_YzOZ.js.map +1 -0
  429. package/lib/index-CrcNWbel.js.map +1 -1
  430. package/lib/{index-DmNq2fbN.js → index-nGbmHh_A.js} +2 -2
  431. package/lib/index-nGbmHh_A.js.map +1 -0
  432. package/lib/{index-CQGi1b3U.js → index-rYHsvtTo.js} +166 -50
  433. package/lib/index-rYHsvtTo.js.map +1 -0
  434. package/lib/index.esm-BYObtETB.js +1294 -0
  435. package/lib/index.esm-BYObtETB.js.map +1 -0
  436. package/lib/index.esm-BnYHxCYC.js.map +1 -1
  437. package/lib/java-CVLzHfb1.js +53 -0
  438. package/lib/java-CVLzHfb1.js.map +1 -0
  439. package/lib/javascript-CcmIpL4G.js +10 -0
  440. package/lib/javascript-CcmIpL4G.js.map +1 -0
  441. package/lib/json-4AyP4uiY.js +25 -0
  442. package/lib/json-4AyP4uiY.js.map +1 -0
  443. package/lib/{jsx-runtime-C5mzlN2N.js → jsx-runtime-BzflLqGi.js} +110 -112
  444. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  445. package/lib/kotlin-v2plddBQ.js +37 -0
  446. package/lib/kotlin-v2plddBQ.js.map +1 -0
  447. package/lib/markdown-DYGWCmGQ.js +25 -0
  448. package/lib/markdown-DYGWCmGQ.js.map +1 -0
  449. package/lib/mdx-CHwYvXd4.js +32 -0
  450. package/lib/mdx-CHwYvXd4.js.map +1 -0
  451. package/lib/{mutation-CiMUdKRU.js → mutation-BSU0xu4m.js} +2 -2
  452. package/lib/{mutation-CiMUdKRU.js.map → mutation-BSU0xu4m.js.map} +1 -1
  453. package/lib/objectivec-HZY8shkd.js +32 -0
  454. package/lib/objectivec-HZY8shkd.js.map +1 -0
  455. package/lib/ocaml-DqsdDdwb.js +52 -0
  456. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  457. package/lib/php-rQXzo7K_.js +25 -0
  458. package/lib/php-rQXzo7K_.js.map +1 -0
  459. package/lib/powershell-CQje9pm1.js +39 -0
  460. package/lib/powershell-CQje9pm1.js.map +1 -0
  461. package/lib/processors/traverse.js.map +1 -1
  462. package/lib/python-QIQAE5Ei.js +32 -0
  463. package/lib/python-QIQAE5Ei.js.map +1 -0
  464. package/lib/react-DHpVpxRv.js +24 -0
  465. package/lib/react-DHpVpxRv.js.map +1 -0
  466. package/lib/ruby-B2dU8Ny5.js +25 -0
  467. package/lib/ruby-B2dU8Ny5.js.map +1 -0
  468. package/lib/rust-DYnLHAi2.js +25 -0
  469. package/lib/rust-DYnLHAi2.js.map +1 -0
  470. package/lib/scala-CeKInBR8.js +25 -0
  471. package/lib/scala-CeKInBR8.js.map +1 -0
  472. package/lib/shell-HUv9oVtp.js +25 -0
  473. package/lib/shell-HUv9oVtp.js.map +1 -0
  474. package/lib/swift-B4z6ig1Z.js +25 -0
  475. package/lib/swift-B4z6ig1Z.js.map +1 -0
  476. package/lib/toml-Co9mpdct.js +32 -0
  477. package/lib/toml-Co9mpdct.js.map +1 -0
  478. package/lib/typescript-C26xdBDC.js +32 -0
  479. package/lib/typescript-C26xdBDC.js.map +1 -0
  480. package/lib/ui/Accordion.js +1 -1
  481. package/lib/ui/ActionButton.js +3 -3
  482. package/lib/ui/Alert.js +1 -1
  483. package/lib/ui/AlertDialog.js +1 -1
  484. package/lib/ui/Badge.js +1 -1
  485. package/lib/ui/Breadcrumb.js +1 -1
  486. package/lib/ui/Button.js +1 -1
  487. package/lib/ui/Callout.js +19 -19
  488. package/lib/ui/Callout.js.map +1 -1
  489. package/lib/ui/Card.js +1 -1
  490. package/lib/ui/Carousel.js +1 -1
  491. package/lib/ui/Carousel.js.map +1 -1
  492. package/lib/ui/Checkbox.js +1 -1
  493. package/lib/ui/CodeBlock.js +217 -6
  494. package/lib/ui/CodeBlock.js.map +1 -1
  495. package/lib/ui/Command.js +2 -2
  496. package/lib/ui/Dialog.js +135 -105
  497. package/lib/ui/Dialog.js.map +1 -1
  498. package/lib/ui/Drawer.js +2 -2
  499. package/lib/ui/DropdownMenu.js +1 -1
  500. package/lib/ui/EmbeddedCodeBlock.js +23 -20
  501. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  502. package/lib/ui/Form.js +2 -2
  503. package/lib/ui/HoverCard.js +1 -1
  504. package/lib/ui/Input.js +1 -1
  505. package/lib/ui/Label.js +1 -1
  506. package/lib/ui/Pagination.js +1 -1
  507. package/lib/ui/Popover.js +1 -1
  508. package/lib/ui/Progress.js +1 -1
  509. package/lib/ui/RadioGroup.js +1 -1
  510. package/lib/ui/ReactComponentDoc.js +28 -0
  511. package/lib/ui/ReactComponentDoc.js.map +1 -0
  512. package/lib/ui/ScrollArea.js +1 -1
  513. package/lib/ui/Secret.js +106 -0
  514. package/lib/ui/Secret.js.map +1 -0
  515. package/lib/ui/Select.js +1 -1
  516. package/lib/ui/Skeleton.js +1 -1
  517. package/lib/ui/Slider.js +1 -1
  518. package/lib/ui/Stepper.js +1 -1
  519. package/lib/ui/Switch.js +1 -1
  520. package/lib/ui/SyntaxHighlight.js +4 -4
  521. package/lib/ui/Tabs.js +1 -1
  522. package/lib/ui/Textarea.js +1 -1
  523. package/lib/ui/Toggle.js +1 -1
  524. package/lib/ui/ToggleGroup.js +1 -1
  525. package/lib/ui/Tooltip.js +1 -1
  526. package/lib/ui/Value.js +39 -0
  527. package/lib/ui/Value.js.map +1 -0
  528. package/lib/useCopyToClipboard-B_085nfO.js +14 -0
  529. package/lib/useCopyToClipboard-B_085nfO.js.map +1 -0
  530. package/lib/{useExposedProps-BH9aq4MD.js → useExposedProps-U3pmsHaG.js} +34 -34
  531. package/lib/{useExposedProps-BH9aq4MD.js.map → useExposedProps-U3pmsHaG.js.map} +1 -1
  532. package/lib/xml-BQOOC04j.js +25 -0
  533. package/lib/xml-BQOOC04j.js.map +1 -0
  534. package/lib/yaml-BGsJItKv.js +32 -0
  535. package/lib/yaml-BGsJItKv.js.map +1 -0
  536. package/lib/zig-CUV2sTct.js +35 -0
  537. package/lib/zig-CUV2sTct.js.map +1 -0
  538. package/lib/zudoku.__internal.js +1050 -940
  539. package/lib/zudoku.__internal.js.map +1 -1
  540. package/lib/zudoku.auth-auth0.js +23 -22
  541. package/lib/zudoku.auth-auth0.js.map +1 -1
  542. package/lib/zudoku.auth-azureb2c.js +34 -35
  543. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  544. package/lib/zudoku.auth-clerk.js +41 -41
  545. package/lib/zudoku.auth-clerk.js.map +1 -1
  546. package/lib/zudoku.auth-openid.js +104 -108
  547. package/lib/zudoku.auth-openid.js.map +1 -1
  548. package/lib/zudoku.auth-supabase.js +111 -52
  549. package/lib/zudoku.auth-supabase.js.map +1 -1
  550. package/lib/zudoku.components.js +21 -20
  551. package/lib/zudoku.hooks.js +6 -6
  552. package/lib/zudoku.hooks.js.map +1 -1
  553. package/lib/zudoku.icons.js +1 -1
  554. package/lib/zudoku.plugin-api-catalog.js +34 -28
  555. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  556. package/lib/zudoku.plugin-api-keys.js +302 -327
  557. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  558. package/lib/zudoku.plugin-custom-pages.js +1 -1
  559. package/lib/zudoku.plugin-markdown.js +10 -9
  560. package/lib/zudoku.plugin-markdown.js.map +1 -1
  561. package/lib/zudoku.plugin-openapi.js +7 -8
  562. package/lib/zudoku.plugin-openapi.js.map +1 -1
  563. package/lib/zudoku.plugin-redirect.js +3 -3
  564. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  565. package/lib/zudoku.plugin-search-pagefind.js +47 -48
  566. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  567. package/lib/zudoku.router.js +2502 -118
  568. package/lib/zudoku.router.js.map +1 -1
  569. package/package.json +83 -72
  570. package/src/app/entry.server.tsx +16 -6
  571. package/src/app/main.css +71 -19
  572. package/src/lib/assets/language-icons/c.tsx +31 -0
  573. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  574. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  575. package/src/lib/assets/language-icons/csharp.tsx +35 -0
  576. package/src/lib/assets/language-icons/css.tsx +36 -0
  577. package/src/lib/assets/language-icons/dart.tsx +39 -0
  578. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  579. package/src/lib/assets/language-icons/go.tsx +19 -0
  580. package/src/lib/assets/language-icons/graphql.tsx +19 -0
  581. package/src/lib/assets/language-icons/html.tsx +24 -0
  582. package/src/lib/assets/language-icons/java.tsx +35 -0
  583. package/src/lib/assets/language-icons/javascript.tsx +11 -0
  584. package/src/lib/assets/language-icons/json.tsx +19 -0
  585. package/src/lib/assets/language-icons/kotlin.tsx +30 -0
  586. package/src/lib/assets/language-icons/markdown.tsx +19 -0
  587. package/src/lib/assets/language-icons/mdx.tsx +23 -0
  588. package/src/lib/assets/language-icons/objectivec.tsx +23 -0
  589. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  590. package/src/lib/assets/language-icons/php.tsx +19 -0
  591. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  592. package/src/lib/assets/language-icons/python.tsx +23 -0
  593. package/src/lib/assets/language-icons/react.tsx +21 -0
  594. package/src/lib/assets/language-icons/ruby.tsx +19 -0
  595. package/src/lib/assets/language-icons/rust.tsx +19 -0
  596. package/src/lib/assets/language-icons/scala.tsx +19 -0
  597. package/src/lib/assets/language-icons/shell.tsx +19 -0
  598. package/src/lib/assets/language-icons/swift.tsx +19 -0
  599. package/src/lib/assets/language-icons/toml.tsx +23 -0
  600. package/src/lib/assets/language-icons/typescript.tsx +23 -0
  601. package/src/lib/assets/language-icons/xml.tsx +19 -0
  602. package/src/lib/assets/language-icons/yaml.tsx +23 -0
  603. package/src/lib/assets/language-icons/zig.tsx +32 -0
  604. package/src/lib/authentication/authentication.ts +22 -4
  605. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  606. package/src/lib/authentication/components/SignIn.tsx +7 -5
  607. package/src/lib/authentication/components/SignOut.tsx +7 -6
  608. package/src/lib/authentication/components/SignUp.tsx +5 -8
  609. package/src/lib/authentication/hook.ts +21 -10
  610. package/src/lib/authentication/providers/auth0.tsx +9 -4
  611. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  612. package/src/lib/authentication/providers/clerk.tsx +9 -2
  613. package/src/lib/authentication/providers/openid.tsx +20 -15
  614. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  615. package/src/lib/authentication/providers/supabase.tsx +59 -43
  616. package/src/lib/authentication/state.ts +3 -23
  617. package/src/lib/authentication/use-broadcast/LICENSE.md +12 -3
  618. package/src/lib/components/BuildCheck.tsx +12 -10
  619. package/src/lib/components/Heading.tsx +2 -6
  620. package/src/lib/components/LanguageIcon.tsx +181 -0
  621. package/src/lib/components/Main.tsx +1 -1
  622. package/src/lib/components/Meta.tsx +13 -0
  623. package/src/lib/components/Zudoku.tsx +3 -3
  624. package/src/lib/components/cache.ts +9 -5
  625. package/src/lib/components/context/ZudokuContext.ts +11 -2
  626. package/src/lib/components/index.ts +2 -0
  627. package/src/lib/components/navigation/NavigationItem.tsx +1 -1
  628. package/src/lib/components/navigation/Toc.tsx +3 -3
  629. package/src/lib/core/RouteGuard.tsx +33 -13
  630. package/src/lib/core/ZudokuContext.ts +3 -0
  631. package/src/lib/oas/graphql/index.ts +37 -2
  632. package/src/lib/plugins/api-catalog/Catalog.tsx +7 -0
  633. package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
  634. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +18 -64
  635. package/src/lib/plugins/markdown/MdxPage.tsx +126 -9
  636. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  637. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  638. package/src/lib/plugins/markdown/index.tsx +5 -7
  639. package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
  640. package/src/lib/plugins/openapi/OperationList.tsx +30 -10
  641. package/src/lib/plugins/openapi/OperationListItem.tsx +107 -81
  642. package/src/lib/plugins/openapi/ParameterList.tsx +3 -5
  643. package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -9
  644. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +6 -11
  645. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +3 -2
  646. package/src/lib/plugins/openapi/Sidecar.tsx +10 -10
  647. package/src/lib/plugins/openapi/SidecarExamples.tsx +2 -9
  648. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +2 -1
  649. package/src/lib/plugins/openapi/graphql/gql.ts +7 -6
  650. package/src/lib/plugins/openapi/graphql/graphql.ts +26 -3
  651. package/src/lib/plugins/openapi/index.tsx +10 -30
  652. package/src/lib/plugins/openapi/interfaces.ts +3 -2
  653. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +2 -2
  654. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +2 -2
  655. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -3
  656. package/src/lib/plugins/openapi/playground/Playground.tsx +16 -5
  657. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +13 -2
  658. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  659. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  660. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +124 -52
  661. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  662. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  663. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +11 -4
  664. package/src/lib/plugins/openapi/schema/SchemaView.tsx +18 -12
  665. package/src/lib/plugins/openapi/schema/UnionView.tsx +56 -36
  666. package/src/lib/plugins/openapi/schema/union-helpers.ts +30 -2
  667. package/src/lib/shiki.ts +29 -2
  668. package/src/lib/ui/Callout.tsx +10 -5
  669. package/src/lib/ui/Carousel.tsx +0 -1
  670. package/src/lib/ui/CodeBlock.tsx +7 -42
  671. package/src/lib/ui/Dialog.tsx +112 -106
  672. package/src/lib/ui/EmbeddedCodeBlock.tsx +6 -3
  673. package/src/lib/ui/ReactComponentDoc.tsx +68 -0
  674. package/src/lib/ui/Secret.tsx +123 -0
  675. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  676. package/src/lib/ui/Value.tsx +42 -0
  677. package/src/lib/util/MdxComponents.tsx +3 -2
  678. package/src/lib/util/pastellize.ts +4 -4
  679. package/src/lib/util/syncZustandState.ts +22 -0
  680. package/src/lib/util/traverse.ts +36 -0
  681. package/src/shiki/langs/hurl.js +1 -0
  682. package/src/shiki/langs/kdl.js +1 -0
  683. package/src/shiki/langs/pkl.js +1 -0
  684. package/src/shiki/langs/rosmsg.js +1 -0
  685. package/lib/CodeBlock-CX_J17Hf.js +0 -98
  686. package/lib/CodeBlock-CX_J17Hf.js.map +0 -1
  687. package/lib/Dialog-BmgXWOaz.js +0 -114
  688. package/lib/Dialog-BmgXWOaz.js.map +0 -1
  689. package/lib/MdxPage-yXbTtcWf.js +0 -111
  690. package/lib/MdxPage-yXbTtcWf.js.map +0 -1
  691. package/lib/OperationList-CWxpdIbO.js +0 -5165
  692. package/lib/OperationList-CWxpdIbO.js.map +0 -1
  693. package/lib/RouteGuard-BIksrt_C.js +0 -56
  694. package/lib/RouteGuard-BIksrt_C.js.map +0 -1
  695. package/lib/SchemaView-B2BeAuci.js +0 -429
  696. package/lib/SchemaView-B2BeAuci.js.map +0 -1
  697. package/lib/Select-DWh0wSay.js +0 -273
  698. package/lib/Select-DWh0wSay.js.map +0 -1
  699. package/lib/SignUp-CznaQsRx.js +0 -56
  700. package/lib/SignUp-CznaQsRx.js.map +0 -1
  701. package/lib/Slot-BbdqiRXo.js.map +0 -1
  702. package/lib/SyntaxHighlight-CvzJ7DNa.js.map +0 -1
  703. package/lib/Toc-BAa-kpqN.js.map +0 -1
  704. package/lib/ZudokuContext-BR-lnR7O.js +0 -1285
  705. package/lib/ZudokuContext-BR-lnR7O.js.map +0 -1
  706. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +0 -9204
  707. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +0 -1
  708. package/lib/createServer-B4giw6jv.js.map +0 -1
  709. package/lib/hook-B4Q30zMI.js +0 -247
  710. package/lib/hook-B4Q30zMI.js.map +0 -1
  711. package/lib/index-BuKx9nrj.js.map +0 -1
  712. package/lib/index-CQGi1b3U.js.map +0 -1
  713. package/lib/index-DmNq2fbN.js.map +0 -1
  714. package/lib/index-Dp3Fmnfq.js.map +0 -1
  715. package/lib/index.esm-CdzlRw50.js +0 -1254
  716. package/lib/index.esm-CdzlRw50.js.map +0 -1
  717. package/lib/jsx-runtime-C5mzlN2N.js.map +0 -1
@@ -1,56 +0,0 @@
1
- import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
- import { d as m, e as p } from "./ZudokuContext-BR-lnR7O.js";
3
- import { H as h } from "./index.esm-BnYHxCYC.js";
4
- import { createContext as f, use as g } from "react";
5
- import { aP as x, aM as j, an as y, O as w } from "./chunk-QMGIS6GS-DqecZ6nq.js";
6
- import { D as P, a as R, b, c as C, d as D } from "./Dialog-BmgXWOaz.js";
7
- import { a as T } from "./hook-B4Q30zMI.js";
8
- import { Z as E } from "./invariant-Bm-FVUQE.js";
9
- import { u as v } from "./useLatest-hmRS46UF.js";
10
- const O = f(!1), A = "protected", N = () => {
11
- const o = T(), n = m(), d = x(), s = j(), l = v(s.pathname), a = g(O), { protectedRoutes: i } = n.options, r = !a && i ? Object.entries(i).find(
12
- ([t]) => y({ path: t, end: !0 }, s.pathname)
13
- )?.[1] : void 0, u = r !== void 0, c = u && !r({ auth: o, context: n });
14
- if (p({
15
- queryKey: ["login-redirect"],
16
- queryFn: async () => (await new Promise((t) => setTimeout(t, 1200)), await n.authentication?.signIn({
17
- redirectTo: l.current
18
- }), !0),
19
- enabled: typeof window < "u" && c && !o.isPending
20
- }), c)
21
- return /* @__PURE__ */ e.jsx(
22
- P,
23
- {
24
- open: !0,
25
- onOpenChange: (t) => {
26
- t || d(-1);
27
- },
28
- children: /* @__PURE__ */ e.jsxs(R, { children: [
29
- /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(C, { children: "Logging you in..." }) }),
30
- /* @__PURE__ */ e.jsx(D, { children: "Please wait while we log you in." })
31
- ] })
32
- }
33
- );
34
- if (u && !o.isAuthEnabled)
35
- throw new E("Authentication is not enabled", {
36
- title: "Authentication is not enabled",
37
- developerHint: "To use protectedRoutes you need authentication to be enabled"
38
- });
39
- return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
40
- a && /* @__PURE__ */ e.jsx(h, { children: /* @__PURE__ */ e.jsx(
41
- "meta",
42
- {
43
- name: "pagefind",
44
- "data-pagefind-filter": `section:${A}`,
45
- content: "true"
46
- }
47
- ) }),
48
- /* @__PURE__ */ e.jsx(w, {})
49
- ] });
50
- };
51
- export {
52
- O as B,
53
- N as R,
54
- A as S
55
- };
56
- //# sourceMappingURL=RouteGuard-BIksrt_C.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RouteGuard-BIksrt_C.js","sources":["../src/lib/components/context/BypassProtectedRoutesContext.ts","../src/lib/core/RouteGuard.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const BypassProtectedRoutesContext = createContext(false);\n","import { useQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { use } from \"react\";\nimport { matchPath, Outlet, useLocation, useNavigate } from \"react-router\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\nimport { useAuth } from \"../authentication/hook.js\";\nimport { BypassProtectedRoutesContext } from \"../components/context/BypassProtectedRoutesContext.js\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\nimport { useLatest } from \"../util/useLatest.js\";\n\nexport const SEARCH_PROTECTED_SECTION = \"protected\";\n\nexport const RouteGuard = () => {\n const auth = useAuth();\n const zudoku = useZudoku();\n const navigate = useNavigate();\n const location = useLocation();\n const latestPath = useLatest(location.pathname);\n const shouldBypass = use(BypassProtectedRoutesContext);\n const { protectedRoutes } = zudoku.options;\n\n const authCheckFn =\n !shouldBypass && protectedRoutes\n ? Object.entries(protectedRoutes).find(([path]) =>\n matchPath({ path, end: true }, location.pathname),\n )?.[1]\n : undefined;\n\n const isProtectedRoute = authCheckFn !== undefined;\n const needsToSignIn =\n isProtectedRoute && !authCheckFn({ auth, context: zudoku });\n\n useQuery({\n queryKey: [\"login-redirect\"],\n queryFn: async () => {\n await new Promise((resolve) => setTimeout(resolve, 1200));\n await zudoku.authentication?.signIn({\n redirectTo: latestPath.current,\n });\n return true;\n },\n enabled: typeof window !== \"undefined\" && needsToSignIn && !auth.isPending,\n });\n\n if (needsToSignIn) {\n return (\n <Dialog\n open={true}\n onOpenChange={(open) => {\n if (!open) {\n void navigate(-1);\n }\n }}\n >\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Logging you in...</DialogTitle>\n </DialogHeader>\n <DialogDescription>\n Please wait while we log you in.\n </DialogDescription>\n </DialogContent>\n </Dialog>\n );\n }\n\n if (isProtectedRoute && !auth.isAuthEnabled) {\n throw new ZudokuError(\"Authentication is not enabled\", {\n title: \"Authentication is not enabled\",\n developerHint:\n \"To use protectedRoutes you need authentication to be enabled\",\n });\n }\n\n return (\n <>\n {shouldBypass && (\n <Helmet>\n <meta\n name=\"pagefind\"\n data-pagefind-filter={`section:${SEARCH_PROTECTED_SECTION}`}\n content=\"true\"\n />\n </Helmet>\n )}\n <Outlet />\n </>\n );\n};\n"],"names":["BypassProtectedRoutesContext","createContext","SEARCH_PROTECTED_SECTION","RouteGuard","auth","useAuth","zudoku","useZudoku","navigate","useNavigate","location","useLocation","latestPath","useLatest","shouldBypass","use","protectedRoutes","authCheckFn","path","matchPath","isProtectedRoute","needsToSignIn","useQuery","resolve","jsx","Dialog","open","DialogContent","DialogHeader","DialogTitle","DialogDescription","ZudokuError","jsxs","Fragment","Helmet","Outlet"],"mappings":";;;;;;;;;AAEO,MAAMA,IAA+BC,EAAc,EAAK,GCelDC,IAA2B,aAE3BC,IAAa,MAAM;AAC9B,QAAMC,IAAOC,EAAA,GACPC,IAASC,EAAA,GACTC,IAAWC,EAAA,GACXC,IAAWC,EAAA,GACXC,IAAaC,EAAUH,EAAS,QAAQ,GACxCI,IAAeC,EAAIf,CAA4B,GAC/C,EAAE,iBAAAgB,MAAoBV,EAAO,SAE7BW,IACJ,CAACH,KAAgBE,IACb,OAAO,QAAQA,CAAe,EAAE;AAAA,IAAK,CAAC,CAACE,CAAI,MACzCC,EAAU,EAAE,MAAAD,GAAM,KAAK,MAAQR,EAAS,QAAQ;AAAA,EAAA,IAC9C,CAAC,IACL,QAEAU,IAAmBH,MAAgB,QACnCI,IACJD,KAAoB,CAACH,EAAY,EAAE,MAAAb,GAAM,SAASE,GAAQ;AAc5D,MAZAgB,EAAS;AAAA,IACP,UAAU,CAAC,gBAAgB;AAAA,IAC3B,SAAS,aACP,MAAM,IAAI,QAAQ,CAACC,MAAY,WAAWA,GAAS,IAAI,CAAC,GACxD,MAAMjB,EAAO,gBAAgB,OAAO;AAAA,MAClC,YAAYM,EAAW;AAAA,IAAA,CACxB,GACM;AAAA,IAET,SAAS,OAAO,SAAW,OAAeS,KAAiB,CAACjB,EAAK;AAAA,EAAA,CAClE,GAEGiB;AACF,WACEG,gBAAAA,EAAAA;AAAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAc,CAACC,MAAS;AACtB,UAAKA,KACElB,EAAS,EAAE;AAAA,QAEpB;AAAA,QAEA,iCAACmB,GAAA,EACC,UAAA;AAAA,UAAAH,gBAAAA,MAACI,GAAA,EACC,UAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAY,UAAA,oBAAA,CAAiB,GAChC;AAAA,UACAL,gBAAAA,EAAAA,IAACM,KAAkB,UAAA,mCAAA,CAEnB;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAKN,MAAIV,KAAoB,CAAChB,EAAK;AAC5B,UAAM,IAAI2B,EAAY,iCAAiC;AAAA,MACrD,OAAO;AAAA,MACP,eACE;AAAA,IAAA,CACH;AAGH,SACEC,gBAAAA,EAAAA,KAAAC,YAAA,EACG,UAAA;AAAA,IAAAnB,2BACEoB,GAAA,EACC,UAAAV,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,wBAAsB,WAAWtB,CAAwB;AAAA,QACzD,SAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,0BAEDiC,GAAA,CAAA,CAAO;AAAA,EAAA,GACV;AAEJ;"}
@@ -1,429 +0,0 @@
1
- import { j as s } from "./jsx-runtime-C5mzlN2N.js";
2
- import { ChevronUpIcon as R, ChevronDownIcon as A, ChevronsLeftRightIcon as T, CircleFadingPlusIcon as q, SquareMinusIcon as V, SquarePlusIcon as B, MinusIcon as L, PlusIcon as M, RefreshCcwDotIcon as D, InfoIcon as F } from "lucide-react";
3
- import { S as p, I, M as w } from "./Slot-BbdqiRXo.js";
4
- import { Card as m } from "./ui/Card.js";
5
- import { useState as u, isValidElement as G, useCallback as J } from "react";
6
- import { B as U } from "./Button-B3o-2Xdf.js";
7
- import { c as y } from "./cn-dYga0KKN.js";
8
- import * as a from "@radix-ui/react-collapsible";
9
- import { Button as _ } from "./ui/Button.js";
10
- import { C as K } from "./circular-BFte5TUt.js";
11
- import { Badge as W } from "./ui/Badge.js";
12
- import { Tabs as H, TabsList as Q, TabsTrigger as X, TabsContent as Y } from "./ui/Tabs.js";
13
- const Z = (e, r) => e.reduce(
14
- (n, t) => {
15
- const o = r(t);
16
- return n[o] || (n[o] = []), n[o].push(t), n;
17
- },
18
- {}
19
- ), P = ({
20
- schema: e,
21
- hideDescription: r = !1
22
- }) => /* @__PURE__ */ s.jsx("div", { className: "flex flex-col gap-1 text-xs", children: /* @__PURE__ */ s.jsxs("div", { children: [
23
- /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Const value: " }),
24
- /* @__PURE__ */ s.jsx(p, { className: "border rounded px-1 font-mono", children: e.const }),
25
- !r && e.description && /* @__PURE__ */ s.jsx("div", { className: "text-muted-foreground", children: e.description })
26
- ] }) }), g = ({
27
- values: e,
28
- className: r,
29
- maxVisibleValues: n = 8
30
- }) => {
31
- const [t, o] = u(!1);
32
- if (!e.length) return null;
33
- const i = e.length > n, l = i && !t ? e.slice(0, n) : e;
34
- return /* @__PURE__ */ s.jsxs("div", { className: y("flex flex-wrap gap-1.5 text-xs", r), children: [
35
- /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Enum values: " }),
36
- l.map((d) => /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx(p, { className: "border rounded-sm px-1 font-mono", children: d }) }, d)),
37
- i && /* @__PURE__ */ s.jsx(
38
- U,
39
- {
40
- variant: "ghost",
41
- size: "sm",
42
- className: "h-fit px-0",
43
- onClick: () => o(!t),
44
- children: t ? /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
45
- /* @__PURE__ */ s.jsx(R, { size: 12 }),
46
- /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "show less" })
47
- ] }) : /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
48
- /* @__PURE__ */ s.jsx(A, { size: 12 }),
49
- /* @__PURE__ */ s.jsxs("span", { className: "text-muted-foreground", children: [
50
- "show ",
51
- e.length - n,
52
- " more"
53
- ] })
54
- ] })
55
- }
56
- )
57
- ] });
58
- }, ee = ({ pattern: e }) => {
59
- const [r, n] = u(!1), t = e.length > 20, o = t ? `${e.slice(0, 20)}…` : e;
60
- return /* @__PURE__ */ s.jsxs(
61
- I,
62
- {
63
- className: y("text-xs", t && "cursor-pointer"),
64
- onClick: () => n(!r),
65
- selectOnClick: !1,
66
- children: [
67
- r ? e : o,
68
- t && /* @__PURE__ */ s.jsx("button", { type: "button", className: "p-1 translate-y-[2px]", children: !r && /* @__PURE__ */ s.jsx(T, { size: 12 }) })
69
- ]
70
- }
71
- );
72
- }, se = (e) => e ? [
73
- e.type === "array" && e.items.type ? Array.isArray(e.items.type) ? `(${e.items.type.join(" | ")})[]` : `${e.items.type}[]` : Array.isArray(e.type) ? e.type.join(" | ") : e.type,
74
- e.enum && "enum",
75
- e.const && "const",
76
- e.format,
77
- e.minimum !== void 0 && `min: ${e.minimum}`,
78
- e.maximum !== void 0 && `max: ${e.maximum}`,
79
- e.minLength !== void 0 && `minLength: ${e.minLength}`,
80
- e.maxLength !== void 0 && `maxLength: ${e.maxLength}`,
81
- e.minItems !== void 0 && `minItems: ${e.minItems}`,
82
- e.maxItems !== void 0 && `maxItems: ${e.maxItems}`,
83
- e.minProperties !== void 0 && `minProps: ${e.minProperties}`,
84
- e.maxProperties !== void 0 && `maxProps: ${e.maxProperties}`,
85
- e.uniqueItems && "unique",
86
- e.readOnly && "readOnly",
87
- e.writeOnly && "writeOnly",
88
- e.deprecated && "deprecated",
89
- e.pattern && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
90
- "pattern: ",
91
- /* @__PURE__ */ s.jsx(ee, { pattern: e.pattern })
92
- ] })
93
- ] : [], N = ({
94
- schema: e,
95
- extraItems: r = [],
96
- className: n
97
- }) => {
98
- const t = [...se(e), ...r].flatMap(
99
- (o) => typeof o == "string" || G(o) ? o : []
100
- );
101
- return /* @__PURE__ */ s.jsx("span", { className: n, children: t.map((o, i) => (
102
- // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable
103
- /* @__PURE__ */ s.jsxs("span", { className: "text-muted-foreground", children: [
104
- o,
105
- i < t.length - 1 && /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground/50", children: " · " })
106
- ] }, i)
107
- )) });
108
- }, re = ({
109
- isOpen: e,
110
- className: r,
111
- schemeName: n
112
- }) => /* @__PURE__ */ s.jsx(
113
- "div",
114
- {
115
- className: y(
116
- "text-green-500 dark:text-green-300/60",
117
- "relative text-sm flex py-2",
118
- "before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']",
119
- r
120
- ),
121
- children: /* @__PURE__ */ s.jsxs("div", { className: "-translate-x-[7px] flex gap-1 items-center", children: [
122
- /* @__PURE__ */ s.jsx(q, { size: 16, className: "fill-card" }),
123
- /* @__PURE__ */ s.jsx(
124
- "div",
125
- {
126
- className: y(
127
- "translate-y-px mx-px opacity-0 group-hover:opacity-100 transition",
128
- !e && "-rotate-90"
129
- ),
130
- children: /* @__PURE__ */ s.jsx(A, { size: 16 })
131
- }
132
- ),
133
- /* @__PURE__ */ s.jsx("span", { className: "text-sm text-foreground", children: n })
134
- ] })
135
- }
136
- ), te = (e) => {
137
- const [r, n] = u(!0);
138
- return /* @__PURE__ */ s.jsxs(
139
- a.Root,
140
- {
141
- open: r,
142
- onOpenChange: () => n((t) => !t),
143
- className: "group",
144
- children: [
145
- /* @__PURE__ */ s.jsx(a.Trigger, { children: /* @__PURE__ */ s.jsx(re, { isOpen: r, schemeName: e.schema.title }) }),
146
- !r && /* @__PURE__ */ s.jsx("div", { className: "wavy-line bg-border translate-y-1" }),
147
- /* @__PURE__ */ s.jsx(a.Content, { children: /* @__PURE__ */ s.jsx(x, { schema: e.schema }) })
148
- ]
149
- }
150
- );
151
- }, S = ({ schema: e }) => {
152
- const [r, n] = u(!0), t = J(() => n((o) => !o), []);
153
- return e.allOf ? /* @__PURE__ */ s.jsx(a.Root, { open: r, onOpenChange: t, asChild: !0, children: /* @__PURE__ */ s.jsxs(m, { className: "px-6", children: [
154
- /* @__PURE__ */ s.jsxs(a.Trigger, { className: "flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5", children: [
155
- r ? /* @__PURE__ */ s.jsx(V, { size: 14 }) : /* @__PURE__ */ s.jsx(B, { size: 14 }),
156
- /* @__PURE__ */ s.jsx("span", { children: "All of" })
157
- ] }),
158
- /* @__PURE__ */ s.jsx(a.Content, { className: "pb-4", children: e.allOf.map((o, i) => (
159
- // biome-ignore lint/suspicious/noArrayIndexKey: Index needed for key
160
- /* @__PURE__ */ s.jsx(te, { schema: o }, i)
161
- )) })
162
- ] }) }) : null;
163
- }, b = ({
164
- schema: e
165
- }) => {
166
- const r = e.examples?.at(0), n = e.default;
167
- return r === void 0 && n === void 0 ? null : /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-1 text-xs", children: [
168
- r !== void 0 && /* @__PURE__ */ s.jsxs("div", { children: [
169
- /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Example: " }),
170
- /* @__PURE__ */ s.jsx(p, { className: "border rounded-sm px-1 font-mono", children: typeof r == "object" || typeof r == "boolean" ? JSON.stringify(r) : r })
171
- ] }),
172
- n !== void 0 && /* @__PURE__ */ s.jsxs("div", { children: [
173
- /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Default: " }),
174
- /* @__PURE__ */ s.jsx(p, { className: "border rounded-sm px-1 font-mono", children: typeof n == "object" || typeof n == "boolean" ? JSON.stringify(n) : n })
175
- ] })
176
- ] });
177
- }, $ = (e) => typeof e == "string" && ["string", "number", "boolean", "integer", "null"].includes(e) || Array.isArray(e) && e.every($), h = (e) => e.type === "array" || // schema.type might be an array of types, so we need to check if "array" is one of them
178
- Array.isArray(e.type) && e.type.includes("array"), v = (e) => e && (e.type === "object" && Object.keys(e.properties ?? {}).length > 0 || e.type === "array" && typeof e.items == "object" && (!e.items.type || e.items.type === "object")), k = (e) => typeof e == "string" && e.startsWith(K), O = (e) => h(e) && "items" in e && k(e.items), ne = (e) => typeof e == "string" ? e.split(":")[1] : void 0, C = ({ circularProp: e }) => /* @__PURE__ */ s.jsxs(
179
- I,
180
- {
181
- className: "inline-flex items-center gap-1.5 italic text-xs translate-y-0.5",
182
- selectOnClick: !1,
183
- children: [
184
- /* @__PURE__ */ s.jsx(D, { size: 13 }),
185
- /* @__PURE__ */ s.jsx("span", { children: e ? `${e} (circular)` : "circular" })
186
- ]
187
- }
188
- ), ie = ({
189
- name: e,
190
- schema: r,
191
- group: n,
192
- defaultOpen: t = !1,
193
- showCollapseButton: o = !0
194
- }) => {
195
- const [i, l] = u(t);
196
- if (k(r))
197
- return /* @__PURE__ */ s.jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: [
198
- /* @__PURE__ */ s.jsxs("div", { className: "space-x-2 rtl:space-x-reverse", children: [
199
- /* @__PURE__ */ s.jsx("code", { children: e }),
200
- /* @__PURE__ */ s.jsx(
201
- N,
202
- {
203
- schema: r,
204
- extraItems: [/* @__PURE__ */ s.jsx(C, {}, "circular-ref")]
205
- }
206
- )
207
- ] }),
208
- /* @__PURE__ */ s.jsx(b, { schema: r })
209
- ] }) });
210
- const d = !!((r.allOf || r.anyOf || r.oneOf || v(r) || h(r) && "items" in r && v(r.items) || r.additionalProperties) && !O(r));
211
- return /* @__PURE__ */ s.jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: [
212
- /* @__PURE__ */ s.jsxs("div", { className: "space-x-2 rtl:space-x-reverse", children: [
213
- /* @__PURE__ */ s.jsx(p, { asChild: !0, children: /* @__PURE__ */ s.jsx("code", { children: e }) }),
214
- /* @__PURE__ */ s.jsx(
215
- N,
216
- {
217
- schema: r,
218
- extraItems: [
219
- n !== "optional" && /* @__PURE__ */ s.jsx("span", { className: "text-primary", children: "required" }),
220
- O(r) && /* @__PURE__ */ s.jsx(
221
- C,
222
- {
223
- circularProp: ne(r.items)
224
- }
225
- )
226
- ]
227
- }
228
- )
229
- ] }),
230
- r.description && /* @__PURE__ */ s.jsx(
231
- w,
232
- {
233
- className: "text-sm leading-normal",
234
- content: r.description
235
- }
236
- ),
237
- r.type === "array" && "items" in r && r.items.enum && /* @__PURE__ */ s.jsx(g, { values: r.items.enum }),
238
- r.const && /* @__PURE__ */ s.jsx(P, { schema: r, hideDescription: !0 }),
239
- r.enum && /* @__PURE__ */ s.jsx(g, { values: r.enum }),
240
- /* @__PURE__ */ s.jsx(b, { schema: r }),
241
- d && /* @__PURE__ */ s.jsxs(
242
- a.Root,
243
- {
244
- defaultOpen: t,
245
- open: i,
246
- onOpenChange: () => l(!i),
247
- children: [
248
- o && /* @__PURE__ */ s.jsx(a.Trigger, { asChild: !0, children: /* @__PURE__ */ s.jsxs(_, { variant: "expand", size: "sm", children: [
249
- i ? /* @__PURE__ */ s.jsx(L, { size: 12 }) : /* @__PURE__ */ s.jsx(M, { size: 12 }),
250
- i ? "Hide properties" : "Show properties"
251
- ] }) }),
252
- /* @__PURE__ */ s.jsx(a.Content, { children: /* @__PURE__ */ s.jsx("div", { className: "mt-2", children: r.allOf ? /* @__PURE__ */ s.jsx(S, { schema: r }) : r.anyOf || r.oneOf || r.type === "object" ? /* @__PURE__ */ s.jsx(x, { schema: r }) : h(r) && "items" in r ? /* @__PURE__ */ s.jsx(x, { schema: r.items }) : null }) })
253
- ]
254
- }
255
- )
256
- ] }) });
257
- }, z = (e) => e.oneOf ?? e.anyOf ?? [], oe = (e) => {
258
- if (Array.isArray(e.oneOf)) return "exactly-one";
259
- const r = e.discriminator?.propertyName;
260
- if (!r) return "at-least-one";
261
- const n = z(e), t = /* @__PURE__ */ new Set();
262
- for (const o of n) {
263
- const i = o.properties?.[r], l = i?.const ?? (Array.isArray(i?.enum) && i.enum.length === 1 ? String(i.enum[0]) : void 0);
264
- if (l == null || t.has(String(l))) return "at-least-one";
265
- t.add(String(l));
266
- }
267
- return "exactly-one";
268
- }, j = (e, r) => r.title?.trim() || `Variant ${e + 1}`, le = (e, r) => {
269
- const n = [];
270
- e.type && n.push(
271
- `type = ${Array.isArray(e.type) ? e.type.join("|") : e.type}`
272
- );
273
- const t = r?.discriminator?.propertyName;
274
- if (t) {
275
- const i = e.properties?.[t], l = i?.const ?? (Array.isArray(i?.enum) && i.enum.length === 1 ? i.enum[0] : void 0);
276
- l !== void 0 && n.push(`${t}=${JSON.stringify(l)}`);
277
- }
278
- const o = (e.required ?? []).filter((i) => i !== t);
279
- if (o.length) {
280
- const i = o.slice(0, 3).join(", "), l = o.length > 3 ? ` +${o.length - 3} more` : "";
281
- n.push(`requires: ${i}${l}`);
282
- }
283
- return n;
284
- }, ae = ({
285
- variants: e,
286
- schema: r
287
- }) => {
288
- const n = e.map((t, o) => ({
289
- label: j(o, t),
290
- guards: le(t, r)
291
- }));
292
- return /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-2 text-sm", children: [
293
- /* @__PURE__ */ s.jsx("h4", { className: "font-medium", children: "Decision Table" }),
294
- /* @__PURE__ */ s.jsx("div", { className: "border rounded-md overflow-hidden", children: /* @__PURE__ */ s.jsxs("table", { className: "w-full", children: [
295
- /* @__PURE__ */ s.jsx("thead", { children: /* @__PURE__ */ s.jsxs("tr", { className: "border-b bg-muted/50", children: [
296
- /* @__PURE__ */ s.jsx("th", { className: "text-left p-2 font-medium", children: "Variant" }),
297
- /* @__PURE__ */ s.jsx("th", { className: "text-left p-2 font-medium", children: "Matching Criteria" })
298
- ] }) }),
299
- /* @__PURE__ */ s.jsx("tbody", { className: "divide-y", children: n.map((t) => /* @__PURE__ */ s.jsxs("tr", { className: "hover:bg-muted/30", children: [
300
- /* @__PURE__ */ s.jsx("td", { className: "p-2 font-medium", children: t.label }),
301
- /* @__PURE__ */ s.jsx("td", { className: "p-2 text-muted-foreground text-xs", children: t.guards.length > 0 ? t.guards.join(" · ") : "No specific criteria" })
302
- ] }, t.label)) })
303
- ] }) })
304
- ] });
305
- }, de = ({ variant: e }) => /* @__PURE__ */ s.jsxs("div", { className: "my-4", children: [
306
- e.description && /* @__PURE__ */ s.jsx("p", { className: "text-sm text-muted-foreground", children: e.description }),
307
- /* @__PURE__ */ s.jsx(x, { schema: e })
308
- ] }), ce = ({ schema: e }) => {
309
- const r = Array.isArray(e.oneOf) ? "oneOf" : Array.isArray(e.anyOf) ? "anyOf" : void 0;
310
- if (!r) return null;
311
- const n = oe(e), t = z(e), o = n === "exactly-one" ? /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
312
- "Exactly one variant ",
313
- /* @__PURE__ */ s.jsx("b", { children: "must match" }),
314
- "."
315
- ] }) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
316
- "At least one variant ",
317
- /* @__PURE__ */ s.jsx("b", { children: "must match" }),
318
- ". Multiple variants",
319
- " ",
320
- /* @__PURE__ */ s.jsx("i", { children: "may match" }),
321
- " simultaneously."
322
- ] });
323
- return /* @__PURE__ */ s.jsxs(m, { className: "overflow-hidden", children: [
324
- /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-4 p-4", children: [
325
- /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2", children: [
326
- /* @__PURE__ */ s.jsx(W, { variant: "outline", children: r }),
327
- /* @__PURE__ */ s.jsx("div", { className: "flex-1 p-2", children: /* @__PURE__ */ s.jsx("span", { className: "text-sm", children: o }) })
328
- ] }),
329
- /* @__PURE__ */ s.jsx(ae, { variants: t, schema: e })
330
- ] }),
331
- /* @__PURE__ */ s.jsxs(H, { defaultValue: "0", className: "w-full px-4", children: [
332
- /* @__PURE__ */ s.jsx(Q, { className: "flex w-full", children: t.map((i, l) => /* @__PURE__ */ s.jsx(
333
- X,
334
- {
335
- value: String(l),
336
- className: "flex-1",
337
- children: j(l, i)
338
- },
339
- j(l, i)
340
- )) }),
341
- t.map((i, l) => /* @__PURE__ */ s.jsx(
342
- Y,
343
- {
344
- value: String(l),
345
- className: "px-2",
346
- children: /* @__PURE__ */ s.jsx(de, { variant: i })
347
- },
348
- j(l, i)
349
- ))
350
- ] })
351
- ] });
352
- }, xe = (e) => e && /* @__PURE__ */ s.jsx(
353
- w,
354
- {
355
- className: "text-sm leading-normal line-clamp-4",
356
- content: e
357
- }
358
- ), pe = (e) => /* @__PURE__ */ s.jsxs(m, { className: "p-4 space-y-2", children: [
359
- /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground", children: /* @__PURE__ */ s.jsx(N, { schema: e }) }),
360
- e.enum && /* @__PURE__ */ s.jsx(g, { values: e.enum }),
361
- xe(e.description),
362
- /* @__PURE__ */ s.jsx(b, { schema: e })
363
- ] }), x = ({
364
- schema: e,
365
- defaultOpen: r = !1,
366
- cardHeader: n,
367
- embedded: t
368
- }) => {
369
- if (!e || Object.keys(e).length === 0)
370
- return /* @__PURE__ */ s.jsxs(m, { className: "overflow-hidden", children: [
371
- n,
372
- /* @__PURE__ */ s.jsx("div", { className: "text-sm text-muted-foreground italic p-4", children: "No data returned" })
373
- ] });
374
- if (e.const)
375
- return /* @__PURE__ */ s.jsx(P, { schema: e });
376
- if (Array.isArray(e.oneOf) || Array.isArray(e.anyOf))
377
- return /* @__PURE__ */ s.jsx(ce, { schema: e });
378
- if (Array.isArray(e.allOf))
379
- return /* @__PURE__ */ s.jsx(S, { schema: e });
380
- if ($(e.type))
381
- return pe(e);
382
- if (e.type === "array" && typeof e.items == "object")
383
- return /* @__PURE__ */ s.jsx(x, { schema: e.items });
384
- if (e.type === "object") {
385
- const o = Z(
386
- Object.entries(e.properties ?? {}),
387
- ([c, f]) => f.deprecated ? "deprecated" : e.required?.includes(c) ? "required" : "optional"
388
- ), i = ["required", "optional", "deprecated"], l = typeof e.additionalProperties == "object" ? /* @__PURE__ */ s.jsx(x, { schema: e.additionalProperties, embedded: !0 }) : e.additionalProperties === !0 ? /* @__PURE__ */ s.jsxs("div", { className: "text-sm p-4 bg-border/20 hover:bg-border/30 flex items-center gap-1", children: [
389
- /* @__PURE__ */ s.jsx("span", { children: "Additional properties are allowed" }),
390
- /* @__PURE__ */ s.jsx(
391
- "a",
392
- {
393
- className: "p-0.5 -m-0.5",
394
- href: "https://swagger.io/docs/specification/v3_0/data-models/dictionaries/",
395
- rel: "noopener noreferrer",
396
- target: "_blank",
397
- children: /* @__PURE__ */ s.jsx(F, { size: 14 })
398
- }
399
- )
400
- ] }) : null, d = t ? "div" : m;
401
- return /* @__PURE__ */ s.jsxs(d, { className: "divide-y overflow-hidden", children: [
402
- n,
403
- i.map(
404
- (c) => o[c] && /* @__PURE__ */ s.jsx("ul", { className: "divide-y", children: o[c].map(([f, E]) => /* @__PURE__ */ s.jsx(
405
- ie,
406
- {
407
- name: f,
408
- schema: E,
409
- group: c,
410
- defaultOpen: r
411
- },
412
- f
413
- )) }, c)
414
- ),
415
- l
416
- ] });
417
- }
418
- return null;
419
- };
420
- export {
421
- g as E,
422
- N as P,
423
- x as S,
424
- b as a,
425
- k as b,
426
- Z as g,
427
- h as i
428
- };
429
- //# sourceMappingURL=SchemaView-B2BeAuci.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaView-B2BeAuci.js","sources":["../src/lib/util/groupBy.ts","../src/lib/plugins/openapi/components/ConstValue.tsx","../src/lib/plugins/openapi/components/EnumValues.tsx","../src/lib/plugins/openapi/ParamInfos.tsx","../src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx","../src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx","../src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx","../src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx","../src/lib/plugins/openapi/schema/utils.ts","../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx","../src/lib/plugins/openapi/schema/union-helpers.ts","../src/lib/plugins/openapi/schema/UnionView.tsx","../src/lib/plugins/openapi/schema/SchemaView.tsx"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: Allow any type\nexport const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { SelectOnClick } from \"./SelectOnClick.js\";\n\nexport const ConstValue = ({\n schema,\n hideDescription = false,\n}: {\n schema: SchemaObject;\n hideDescription?: boolean;\n}) => {\n return (\n <div className=\"flex flex-col gap-1 text-xs\">\n <div>\n <span className=\"text-muted-foreground\">Const value: </span>\n <SelectOnClick className=\"border rounded px-1 font-mono\">\n {schema.const}\n </SelectOnClick>\n {!hideDescription && schema.description && (\n <div className=\"text-muted-foreground\">{schema.description}</div>\n )}\n </div>\n </div>\n );\n};\n","import { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { SelectOnClick } from \"./SelectOnClick.js\";\n\nexport const EnumValues = ({\n values,\n className,\n maxVisibleValues = 8,\n}: {\n values: Array<string | number>;\n className?: string;\n maxVisibleValues?: number;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n if (!values.length) return null;\n\n const shouldCollapse = values.length > maxVisibleValues;\n const visibleValues =\n shouldCollapse && !isOpen ? values.slice(0, maxVisibleValues) : values;\n\n return (\n <div className={cn(\"flex flex-wrap gap-1.5 text-xs\", className)}>\n <span className=\"text-muted-foreground\">Enum values: </span>\n {visibleValues.map((value) => (\n <div key={value}>\n <SelectOnClick className=\"border rounded-sm px-1 font-mono\">\n {value}\n </SelectOnClick>\n </div>\n ))}\n {shouldCollapse && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-fit px-0\"\n onClick={() => setIsOpen(!isOpen)}\n >\n {isOpen ? (\n <div className=\"flex items-center gap-1\">\n <ChevronUpIcon size={12} />\n <span className=\"text-muted-foreground\">show less</span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n <ChevronDownIcon size={12} />\n <span className=\"text-muted-foreground\">\n show {values.length - maxVisibleValues} more\n </span>\n </div>\n )}\n </Button>\n )}\n </div>\n );\n};\n","import { ChevronsLeftRightIcon } from \"lucide-react\";\nimport { isValidElement, useState } from \"react\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport type { SchemaObject } from \"../../oas/parser/index.js\";\nimport { cn } from \"../../util/cn.js\";\n\nconst Pattern = ({ pattern }: { pattern: string }) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const isExpandable = pattern.length > 20;\n const shortPattern = isExpandable ? `${pattern.slice(0, 20)}…` : pattern;\n\n return (\n <InlineCode\n className={cn(\"text-xs\", isExpandable && \"cursor-pointer\")}\n onClick={() => setIsExpanded(!isExpanded)}\n selectOnClick={false}\n >\n {isExpanded ? pattern : shortPattern}\n {isExpandable && (\n <button type=\"button\" className=\"p-1 translate-y-[2px]\">\n {!isExpanded && <ChevronsLeftRightIcon size={12} />}\n </button>\n )}\n </InlineCode>\n );\n};\n\nconst getSchemaInfos = (schema?: SchemaObject) => {\n if (!schema) return [];\n\n return [\n schema.type === \"array\" && schema.items.type\n ? Array.isArray(schema.items.type)\n ? `(${schema.items.type.join(\" | \")})[]`\n : `${schema.items.type}[]`\n : Array.isArray(schema.type)\n ? schema.type.join(\" | \")\n : schema.type,\n\n schema.enum && \"enum\",\n schema.const && \"const\",\n schema.format,\n schema.minimum !== undefined && `min: ${schema.minimum}`,\n schema.maximum !== undefined && `max: ${schema.maximum}`,\n schema.minLength !== undefined && `minLength: ${schema.minLength}`,\n schema.maxLength !== undefined && `maxLength: ${schema.maxLength}`,\n schema.minItems !== undefined && `minItems: ${schema.minItems}`,\n schema.maxItems !== undefined && `maxItems: ${schema.maxItems}`,\n schema.minProperties !== undefined && `minProps: ${schema.minProperties}`,\n schema.maxProperties !== undefined && `maxProps: ${schema.maxProperties}`,\n schema.uniqueItems && \"unique\",\n schema.readOnly && \"readOnly\",\n schema.writeOnly && \"writeOnly\",\n schema.deprecated && \"deprecated\",\n schema.pattern && (\n <>\n pattern: <Pattern pattern={schema.pattern} />\n </>\n ),\n ];\n};\n\nexport const ParamInfos = ({\n schema,\n extraItems = [],\n className,\n}: {\n schema?: SchemaObject;\n extraItems?: unknown[];\n className?: string;\n}) => {\n const filteredItems = [...getSchemaInfos(schema), ...extraItems].flatMap(\n (item) => (typeof item === \"string\" || isValidElement(item) ? item : []),\n );\n\n return (\n <span className={className}>\n {filteredItems.map((item, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable\n <span className=\"text-muted-foreground\" key={index}>\n {item}\n {index < filteredItems.length - 1 && (\n <span className=\"text-muted-foreground/50\">\n &nbsp;&middot;&nbsp;\n </span>\n )}\n </span>\n ))}\n </span>\n );\n};\n","import { ChevronDownIcon, CircleFadingPlusIcon } from \"lucide-react\";\nimport { cn } from \"../../../../util/cn.js\";\n\nexport const AllOfGroupConnector = ({\n isOpen,\n className,\n schemeName,\n}: {\n isOpen: boolean;\n className?: string;\n schemeName?: string;\n}) => {\n return (\n <div\n className={cn(\n \"text-green-500 dark:text-green-300/60\",\n \"relative text-sm flex py-2\",\n \"before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']\",\n className,\n )}\n >\n <div className=\"-translate-x-[7px] flex gap-1 items-center\">\n <CircleFadingPlusIcon size={16} className=\"fill-card\" />\n <div\n className={cn(\n \"translate-y-px mx-px opacity-0 group-hover:opacity-100 transition\",\n !isOpen && \"-rotate-90\",\n )}\n >\n <ChevronDownIcon size={16} />\n </div>\n <span className=\"text-sm text-foreground\">{schemeName}</span>\n </div>\n </div>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { useState } from \"react\";\nimport type { SchemaObject } from \"../../../../oas/parser/index.js\";\nimport { SchemaView } from \"../SchemaView.js\";\nimport { AllOfGroupConnector } from \"./AllOfGroupConnector.js\";\n\nexport const AllOfGroupItem = (props: { schema: SchemaObject }) => {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <Collapsible.Root\n open={isOpen}\n onOpenChange={() => setIsOpen((prev) => !prev)}\n className=\"group\"\n >\n <Collapsible.Trigger>\n <AllOfGroupConnector isOpen={isOpen} schemeName={props.schema.title} />\n </Collapsible.Trigger>\n {!isOpen && <div className=\"wavy-line bg-border translate-y-1\" />}\n <Collapsible.Content>\n <SchemaView schema={props.schema} />\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { SquareMinusIcon, SquarePlusIcon } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport type { SchemaObject } from \"../../../../oas/parser/index.js\";\nimport { Card } from \"../../../../ui/Card.js\";\nimport { AllOfGroupItem } from \"./AllOfGroupItem.js\";\n\nexport const AllOfGroupView = ({ schema }: { schema: SchemaObject }) => {\n const [isOpen, setIsOpen] = useState(true);\n const toggleOpen = useCallback(() => setIsOpen((prev) => !prev), []);\n\n if (!schema.allOf) return null;\n\n return (\n <Collapsible.Root open={isOpen} onOpenChange={toggleOpen} asChild>\n <Card className=\"px-6\">\n <Collapsible.Trigger className=\"flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5\">\n {isOpen ? (\n <SquareMinusIcon size={14} />\n ) : (\n <SquarePlusIcon size={14} />\n )}\n <span>All of</span>\n </Collapsible.Trigger>\n\n <Collapsible.Content className=\"pb-4\">\n {schema.allOf.map((subSchema, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: Index needed for key\n <AllOfGroupItem key={index} schema={subSchema} />\n ))}\n </Collapsible.Content>\n </Card>\n </Collapsible.Root>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { SelectOnClick } from \"../components/SelectOnClick.js\";\n\nexport const SchemaExampleAndDefault = ({\n schema,\n}: {\n schema: SchemaObject;\n}) => {\n const example = schema.examples?.at(0);\n const defaultValue = schema.default;\n\n if (example === undefined && defaultValue === undefined) return null;\n\n return (\n <div className=\"flex flex-col gap-1 text-xs\">\n {example !== undefined && (\n <div>\n <span className=\"text-muted-foreground\">Example: </span>\n <SelectOnClick className=\"border rounded-sm px-1 font-mono\">\n {typeof example === \"object\" || typeof example === \"boolean\"\n ? JSON.stringify(example)\n : example}\n </SelectOnClick>\n </div>\n )}\n {defaultValue !== undefined && (\n <div>\n <span className=\"text-muted-foreground\">Default: </span>\n <SelectOnClick className=\"border rounded-sm px-1 font-mono\">\n {typeof defaultValue === \"object\" ||\n typeof defaultValue === \"boolean\"\n ? JSON.stringify(defaultValue)\n : defaultValue}\n </SelectOnClick>\n </div>\n )}\n </div>\n );\n};\n","import { CIRCULAR_REF } from \"../../../oas/graphql/circular.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport const isBasicType = (\n type: unknown,\n): type is \"string\" | \"number\" | \"boolean\" | \"integer\" | \"null\" =>\n (typeof type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\", \"null\"].includes(type)) ||\n (Array.isArray(type) && type.every(isBasicType));\n\nexport const isArrayType = (value: SchemaObject) =>\n value.type === \"array\" ||\n // schema.type might be an array of types, so we need to check if \"array\" is one of them\n (Array.isArray(value.type) && value.type.includes(\"array\"));\n\nexport const isComplexType = (value?: SchemaObject) =>\n value &&\n ((value.type === \"object\" &&\n Object.keys(value.properties ?? {}).length > 0) ||\n (value.type === \"array\" &&\n typeof value.items === \"object\" &&\n (!value.items.type || value.items.type === \"object\")));\n\nexport const isCircularRef = (schema: unknown): schema is string =>\n typeof schema === \"string\" && schema.startsWith(CIRCULAR_REF);\n\nexport const isArrayCircularRef = (\n schema: SchemaObject,\n): schema is SchemaObject & { items: SchemaObject } =>\n isArrayType(schema) && \"items\" in schema && isCircularRef(schema.items);\n\nexport const extractCircularRefInfo = (\n ref?: string | SchemaObject,\n): string | undefined =>\n typeof ref === \"string\" ? ref.split(\":\")[1] : undefined;\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { MinusIcon, PlusIcon, RefreshCcwDotIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { InlineCode } from \"../../../components/InlineCode.js\";\nimport { Markdown } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { ConstValue } from \"../components/ConstValue.js\";\nimport { EnumValues } from \"../components/EnumValues.js\";\nimport { SelectOnClick } from \"../components/SelectOnClick.js\";\nimport { ParamInfos } from \"../ParamInfos.js\";\nimport { AllOfGroupView } from \"./AllOfGroup/AllOfGroupView.js\";\nimport { SchemaExampleAndDefault } from \"./SchemaExampleAndDefault.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport {\n extractCircularRefInfo,\n isArrayCircularRef,\n isArrayType,\n isCircularRef,\n isComplexType,\n} from \"./utils.js\";\n\nconst RecursiveIndicator = ({ circularProp }: { circularProp?: string }) => (\n <InlineCode\n className=\"inline-flex items-center gap-1.5 italic text-xs translate-y-0.5\"\n selectOnClick={false}\n >\n <RefreshCcwDotIcon size={13} />\n <span>{circularProp ? `${circularProp} (circular)` : \"circular\"}</span>\n </InlineCode>\n);\n\nexport const SchemaPropertyItem = ({\n name,\n schema,\n group,\n defaultOpen = false,\n showCollapseButton = true,\n}: {\n name: string;\n schema: SchemaObject;\n group: \"required\" | \"optional\" | \"deprecated\";\n defaultOpen?: boolean;\n showCollapseButton?: boolean;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n if (isCircularRef(schema)) {\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-2.5 justify-between text-sm\">\n <div className=\"space-x-2 rtl:space-x-reverse\">\n <code>{name}</code>\n <ParamInfos\n schema={schema}\n extraItems={[<RecursiveIndicator key=\"circular-ref\" />]}\n />\n </div>\n <SchemaExampleAndDefault schema={schema} />\n </div>\n </li>\n );\n }\n\n const isCollapsible = Boolean(\n (schema.allOf ||\n schema.anyOf ||\n schema.oneOf ||\n isComplexType(schema) ||\n (isArrayType(schema) &&\n \"items\" in schema &&\n isComplexType(schema.items)) ||\n schema.additionalProperties) &&\n !isArrayCircularRef(schema),\n );\n\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-2.5 justify-between text-sm\">\n <div className=\"space-x-2 rtl:space-x-reverse\">\n <SelectOnClick asChild>\n <code>{name}</code>\n </SelectOnClick>\n <ParamInfos\n schema={schema}\n extraItems={[\n group !== \"optional\" && (\n <span className=\"text-primary\">required</span>\n ),\n isArrayCircularRef(schema) && (\n <RecursiveIndicator\n circularProp={extractCircularRefInfo(schema.items)}\n />\n ),\n ]}\n />\n </div>\n {schema.description && (\n <Markdown\n className=\"text-sm leading-normal\"\n content={schema.description}\n />\n )}\n {schema.type === \"array\" && \"items\" in schema && schema.items.enum && (\n <EnumValues values={schema.items.enum} />\n )}\n {schema.const && <ConstValue schema={schema} hideDescription />}\n {schema.enum && <EnumValues values={schema.enum} />}\n <SchemaExampleAndDefault schema={schema} />\n\n {isCollapsible && (\n <Collapsible.Root\n defaultOpen={defaultOpen}\n open={isOpen}\n onOpenChange={() => setIsOpen(!isOpen)}\n >\n {showCollapseButton && (\n <Collapsible.Trigger asChild>\n <Button variant=\"expand\" size=\"sm\">\n {isOpen ? <MinusIcon size={12} /> : <PlusIcon size={12} />}\n {!isOpen ? \"Show properties\" : \"Hide properties\"}\n </Button>\n </Collapsible.Trigger>\n )}\n <Collapsible.Content>\n <div className=\"mt-2\">\n {schema.allOf ? (\n <AllOfGroupView schema={schema} />\n ) : schema.anyOf || schema.oneOf || schema.type === \"object\" ? (\n <SchemaView schema={schema} />\n ) : isArrayType(schema) && \"items\" in schema ? (\n <SchemaView schema={schema.items} />\n ) : null}\n </div>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </div>\n </li>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport type FieldSignature = {\n type?: SchemaObject[\"type\"];\n const?: unknown;\n enum?: unknown[];\n format?: string;\n pattern?: string;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: boolean | number;\n exclusiveMaximum?: boolean | number;\n minLength?: number;\n maxLength?: number;\n minItems?: number;\n maxItems?: number;\n itemsType?: string | string[];\n additionalProps?: \"true\" | \"false\" | \"schema\";\n};\n\nexport type FieldDoc = {\n name: string;\n humanType: string;\n description?: string;\n requiredInAll: boolean;\n};\n\nexport const unionVariants = (schema: SchemaObject) =>\n (schema.oneOf ?? schema.anyOf ?? []) as SchemaObject[];\n\nexport const decideExclusivity = (\n schema: SchemaObject,\n): \"exactly-one\" | \"at-least-one\" => {\n if (Array.isArray(schema.oneOf)) return \"exactly-one\";\n\n const discriminator = schema.discriminator?.propertyName;\n if (!discriminator) return \"at-least-one\";\n\n const variants = unionVariants(schema);\n const seen = new Set<string>();\n\n for (const variant of variants) {\n const prop = variant.properties?.[discriminator];\n\n const value =\n prop?.const ??\n (Array.isArray(prop?.enum) && prop.enum.length === 1\n ? String(prop.enum[0])\n : undefined);\n\n if (value == null || seen.has(String(value))) return \"at-least-one\";\n seen.add(String(value));\n }\n\n return \"exactly-one\";\n};\n\nexport const labelForVariant = (index: number, variant: SchemaObject) =>\n variant.title?.trim() || `Variant ${index + 1}`;\n\nexport const quickGuards = (variant: SchemaObject, root?: SchemaObject) => {\n const guards: string[] = [];\n\n if (variant.type) {\n guards.push(\n `type = ${Array.isArray(variant.type) ? variant.type.join(\"|\") : variant.type}`,\n );\n }\n\n const discriminator = root?.discriminator?.propertyName;\n if (discriminator) {\n const discriminatorProp = variant.properties?.[discriminator] as\n | SchemaObject\n | undefined;\n\n const discriminatorValue =\n discriminatorProp?.const ??\n (Array.isArray(discriminatorProp?.enum) &&\n discriminatorProp.enum.length === 1\n ? discriminatorProp.enum[0]\n : undefined);\n\n if (discriminatorValue !== undefined) {\n guards.push(`${discriminator}=${JSON.stringify(discriminatorValue)}`);\n }\n }\n\n const required = (variant.required ?? []).filter((k) => k !== discriminator);\n if (required.length) {\n const head = required.slice(0, 3).join(\", \");\n const more = required.length > 3 ? ` +${required.length - 3} more` : \"\";\n guards.push(`requires: ${head}${more}`);\n }\n\n return guards;\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Badge } from \"../../../ui/Badge.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/Tabs.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport {\n decideExclusivity,\n labelForVariant,\n quickGuards,\n unionVariants,\n} from \"./union-helpers.js\";\n\nconst DecisionTable = ({\n variants,\n schema,\n}: {\n variants: SchemaObject[];\n schema: SchemaObject;\n}) => {\n const rows = variants.map((v, i) => ({\n label: labelForVariant(i, v),\n guards: quickGuards(v, schema),\n }));\n\n return (\n <div className=\"flex flex-col gap-2 text-sm\">\n <h4 className=\"font-medium\">Decision Table</h4>\n <div className=\"border rounded-md overflow-hidden\">\n <table className=\"w-full\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-2 font-medium\">Variant</th>\n <th className=\"text-left p-2 font-medium\">Matching Criteria</th>\n </tr>\n </thead>\n <tbody className=\"divide-y\">\n {rows.map((row) => (\n <tr key={row.label} className=\"hover:bg-muted/30\">\n <td className=\"p-2 font-medium\">{row.label}</td>\n <td className=\"p-2 text-muted-foreground text-xs\">\n {row.guards.length > 0\n ? row.guards.join(\" · \")\n : \"No specific criteria\"}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst VariantPanel = ({ variant }: { variant: SchemaObject }) => (\n <div className=\"my-4\">\n {variant.description && (\n <p className=\"text-sm text-muted-foreground\">{variant.description}</p>\n )}\n <SchemaView schema={variant} />\n </div>\n);\n\nexport const UnionView = ({ schema }: { schema: SchemaObject }) => {\n const mode = Array.isArray(schema.oneOf)\n ? \"oneOf\"\n : Array.isArray(schema.anyOf)\n ? \"anyOf\"\n : undefined;\n\n if (!mode) return null;\n\n const exclusivity = decideExclusivity(schema);\n const variants = unionVariants(schema);\n\n const semanticsMessage =\n exclusivity === \"exactly-one\" ? (\n <>\n Exactly one variant <b>must match</b>.\n </>\n ) : (\n <>\n At least one variant <b>must match</b>. Multiple variants{\" \"}\n <i>may match</i> simultaneously.\n </>\n );\n\n return (\n <Card className=\"overflow-hidden\">\n <div className=\"flex flex-col gap-4 p-4\">\n <div className=\"flex items-center gap-2\">\n <Badge variant=\"outline\">{mode}</Badge>\n <div className=\"flex-1 p-2\">\n <span className=\"text-sm\">{semanticsMessage}</span>\n </div>\n </div>\n\n <DecisionTable variants={variants} schema={schema} />\n </div>\n <Tabs defaultValue=\"0\" className=\"w-full px-4\">\n <TabsList className=\"flex w-full\">\n {variants.map((v, i) => (\n <TabsTrigger\n key={labelForVariant(i, v)}\n value={String(i)}\n className=\"flex-1\"\n >\n {labelForVariant(i, v)}\n </TabsTrigger>\n ))}\n </TabsList>\n {variants.map((v, i) => (\n <TabsContent\n key={labelForVariant(i, v)}\n value={String(i)}\n className=\"px-2\"\n >\n <VariantPanel variant={v} />\n </TabsContent>\n ))}\n </Tabs>\n </Card>\n );\n};\n","import { InfoIcon } from \"lucide-react\";\nimport { Markdown } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { ConstValue } from \"../components/ConstValue.js\";\nimport { EnumValues } from \"../components/EnumValues.js\";\nimport { ParamInfos } from \"../ParamInfos.js\";\nimport { AllOfGroupView } from \"./AllOfGroup/AllOfGroupView.js\";\nimport { SchemaExampleAndDefault } from \"./SchemaExampleAndDefault.js\";\nimport { SchemaPropertyItem } from \"./SchemaPropertyItem.js\";\nimport { UnionView } from \"./UnionView.js\";\nimport { isBasicType } from \"./utils.js\";\n\nconst renderMarkdown = (content?: string) =>\n content && (\n <Markdown\n className=\"text-sm leading-normal line-clamp-4\"\n content={content}\n />\n );\n\nconst renderBasicSchema = (schema: SchemaObject) => (\n <Card className=\"p-4 space-y-2\">\n <span className=\"text-sm text-muted-foreground\">\n <ParamInfos schema={schema} />\n </span>\n {schema.enum && <EnumValues values={schema.enum} />}\n {renderMarkdown(schema.description)}\n <SchemaExampleAndDefault schema={schema} />\n </Card>\n);\n\nexport const SchemaView = ({\n schema,\n defaultOpen = false,\n cardHeader,\n embedded,\n}: {\n schema?: SchemaObject | null;\n defaultOpen?: boolean;\n cardHeader?: React.ReactNode;\n embedded?: boolean;\n}) => {\n if (!schema || Object.keys(schema).length === 0) {\n return (\n <Card className=\"overflow-hidden\">\n {cardHeader}\n <div className=\"text-sm text-muted-foreground italic p-4\">\n No data returned\n </div>\n </Card>\n );\n }\n\n if (schema.const) {\n return <ConstValue schema={schema} />;\n }\n\n if (Array.isArray(schema.oneOf) || Array.isArray(schema.anyOf)) {\n return <UnionView schema={schema} />;\n }\n\n if (Array.isArray(schema.allOf)) {\n return <AllOfGroupView schema={schema} />;\n }\n\n if (isBasicType(schema.type)) {\n return renderBasicSchema(schema);\n }\n\n if (schema.type === \"array\" && typeof schema.items === \"object\") {\n return <SchemaView schema={schema.items} />;\n }\n\n if (schema.type === \"object\") {\n const groupedProperties = groupBy(\n Object.entries(schema.properties ?? {}),\n ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n },\n );\n const groupNames = [\"required\", \"optional\", \"deprecated\"] as const;\n\n const additionalProperties =\n typeof schema.additionalProperties === \"object\" ? (\n <SchemaView schema={schema.additionalProperties} embedded />\n ) : schema.additionalProperties === true ? (\n <div className=\"text-sm p-4 bg-border/20 hover:bg-border/30 flex items-center gap-1\">\n <span>Additional properties are allowed</span>\n <a\n className=\"p-0.5 -m-0.5\"\n href=\"https://swagger.io/docs/specification/v3_0/data-models/dictionaries/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <InfoIcon size={14} />\n </a>\n </div>\n ) : null;\n\n const Component = embedded ? \"div\" : Card;\n\n return (\n <Component className=\"divide-y overflow-hidden\">\n {cardHeader}\n {groupNames.map(\n (group) =>\n groupedProperties[group] && (\n <ul key={group} className=\"divide-y\">\n {groupedProperties[group].map(([name, schema]) => (\n <SchemaPropertyItem\n key={name}\n name={name}\n schema={schema}\n group={group}\n defaultOpen={defaultOpen}\n />\n ))}\n </ul>\n ),\n )}\n {additionalProperties}\n </Component>\n );\n }\n\n return null;\n};\n"],"names":["groupBy","arr","keySelector","accumulator","val","groupedKey","ConstValue","schema","hideDescription","jsx","SelectOnClick","EnumValues","values","className","maxVisibleValues","isOpen","setIsOpen","useState","shouldCollapse","visibleValues","cn","value","Button","jsxs","ChevronUpIcon","ChevronDownIcon","Pattern","pattern","isExpanded","setIsExpanded","isExpandable","shortPattern","InlineCode","ChevronsLeftRightIcon","getSchemaInfos","Fragment","ParamInfos","extraItems","filteredItems","item","isValidElement","index","AllOfGroupConnector","schemeName","CircleFadingPlusIcon","AllOfGroupItem","props","Collapsible","prev","SchemaView","AllOfGroupView","toggleOpen","useCallback","Card","SquareMinusIcon","SquarePlusIcon","subSchema","SchemaExampleAndDefault","example","defaultValue","isBasicType","type","isArrayType","isComplexType","isCircularRef","CIRCULAR_REF","isArrayCircularRef","extractCircularRefInfo","ref","RecursiveIndicator","circularProp","RefreshCcwDotIcon","SchemaPropertyItem","name","group","defaultOpen","showCollapseButton","isCollapsible","Markdown","MinusIcon","PlusIcon","unionVariants","decideExclusivity","discriminator","variants","seen","variant","prop","labelForVariant","quickGuards","root","guards","discriminatorProp","discriminatorValue","required","k","head","more","DecisionTable","rows","v","i","row","VariantPanel","UnionView","mode","exclusivity","semanticsMessage","Badge","Tabs","TabsList","TabsTrigger","TabsContent","renderMarkdown","content","renderBasicSchema","cardHeader","embedded","groupedProperties","propertyName","property","groupNames","additionalProperties","InfoIcon","Component"],"mappings":"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"}