zudoku 0.0.0-fix-downgrade-openapi-parser.aac00796 → 0.0.0-fix-firebase-export.2e421fda

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 (566) hide show
  1. package/dist/app/main.d.ts +91 -1
  2. package/dist/app/main.js +5 -1
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/app/sentry.js +1 -1
  5. package/dist/config/config.d.ts +15 -46
  6. package/dist/config/validators/BuildSchema.js +18 -3
  7. package/dist/config/validators/BuildSchema.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +61 -61
  9. package/dist/config/validators/NavigationSchema.js +2 -4
  10. package/dist/config/validators/NavigationSchema.js.map +1 -1
  11. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  12. package/dist/config/validators/validate.d.ts +203 -5
  13. package/dist/config/validators/validate.js +44 -1
  14. package/dist/config/validators/validate.js.map +1 -1
  15. package/dist/config/validators/validate.test.js +43 -0
  16. package/dist/config/validators/validate.test.js.map +1 -1
  17. package/dist/flat-config.d.ts +31 -2
  18. package/dist/lib/auth/issuer.js +3 -0
  19. package/dist/lib/auth/issuer.js.map +1 -1
  20. package/dist/lib/authentication/authentication.d.ts +1 -1
  21. package/dist/lib/authentication/providers/auth0.js +6 -1
  22. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  23. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  24. package/dist/lib/authentication/providers/firebase.js +215 -0
  25. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  26. package/dist/lib/authentication/providers/supabase.js +1 -6
  27. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  28. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +24 -0
  29. package/dist/lib/authentication/ui/ZudokuAuthUi.js +124 -0
  30. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  31. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  32. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  33. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  34. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  35. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  36. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  37. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  38. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  39. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  40. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  41. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  42. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  43. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  44. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  45. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  46. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  47. package/dist/lib/authentication/ui/icons/X.js +4 -0
  48. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  49. package/dist/lib/components/Autocomplete.d.ts +3 -1
  50. package/dist/lib/components/Autocomplete.js +6 -2
  51. package/dist/lib/components/Autocomplete.js.map +1 -1
  52. package/dist/lib/components/Heading.d.ts +1 -1
  53. package/dist/lib/components/Layout.js +3 -2
  54. package/dist/lib/components/Layout.js.map +1 -1
  55. package/dist/lib/components/Mermaid.d.ts +7 -0
  56. package/dist/lib/components/Mermaid.js +42 -0
  57. package/dist/lib/components/Mermaid.js.map +1 -0
  58. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  59. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  60. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  61. package/dist/lib/components/Zudoku.js +2 -5
  62. package/dist/lib/components/Zudoku.js.map +1 -1
  63. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  64. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  65. package/dist/lib/core/RouteGuard.js +7 -7
  66. package/dist/lib/core/RouteGuard.js.map +1 -1
  67. package/dist/lib/core/plugins.d.ts +3 -3
  68. package/dist/lib/errors/ErrorAlert.js +1 -1
  69. package/dist/lib/errors/RouterError.d.ts +3 -1
  70. package/dist/lib/errors/RouterError.js +3 -2
  71. package/dist/lib/errors/RouterError.js.map +1 -1
  72. package/dist/lib/oas/parser/index.d.ts +1 -0
  73. package/dist/lib/oas/parser/index.js +7 -3
  74. package/dist/lib/oas/parser/index.js.map +1 -1
  75. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  76. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  77. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  78. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  79. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  80. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  81. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  82. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  83. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  84. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  85. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  86. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  87. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  88. package/dist/lib/plugins/openapi/OasProvider.js +22 -13
  89. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  90. package/dist/lib/plugins/openapi/OperationList.js +16 -6
  91. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  92. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  93. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  94. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  95. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  96. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  97. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  98. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  99. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  100. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  101. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  102. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  103. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  104. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  105. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  106. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  107. package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -2
  108. package/dist/lib/plugins/openapi/Sidecar.js +61 -26
  109. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  110. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  111. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  112. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  113. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  114. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  115. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  116. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  117. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  118. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  119. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  120. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  121. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  122. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  123. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  124. package/dist/lib/plugins/openapi/index.js +11 -5
  125. package/dist/lib/plugins/openapi/index.js.map +1 -1
  126. package/dist/lib/plugins/openapi/interfaces.d.ts +29 -13
  127. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  128. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  129. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  130. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  131. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  132. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  133. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  134. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  135. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  136. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  137. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  138. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  139. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  140. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  141. package/dist/lib/plugins/openapi/playground/Playground.js +58 -26
  142. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  143. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -2
  144. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  145. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  146. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  147. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  148. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  149. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  150. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  151. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  152. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  153. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  154. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  155. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  156. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  157. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  158. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +2 -2
  159. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  160. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  161. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  162. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  163. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  164. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  165. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  166. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  167. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  168. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  169. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  170. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  171. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  172. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  173. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  174. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  175. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +6 -1
  176. package/dist/lib/plugins/openapi/util/getRoutes.js +29 -2
  177. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  178. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  179. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  180. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  181. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  182. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  183. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  184. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  185. package/dist/lib/shiki.d.ts +1 -1
  186. package/dist/lib/shiki.js +18 -12
  187. package/dist/lib/shiki.js.map +1 -1
  188. package/dist/lib/ui/Badge.d.ts +3 -3
  189. package/dist/lib/ui/Badge.js +9 -7
  190. package/dist/lib/ui/Badge.js.map +1 -1
  191. package/dist/lib/ui/Button.d.ts +2 -2
  192. package/dist/lib/ui/Button.js +9 -7
  193. package/dist/lib/ui/Button.js.map +1 -1
  194. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  195. package/dist/lib/ui/ButtonGroup.js +28 -0
  196. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  197. package/dist/lib/ui/Checkbox.d.ts +2 -2
  198. package/dist/lib/ui/Checkbox.js +4 -4
  199. package/dist/lib/ui/Checkbox.js.map +1 -1
  200. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  201. package/dist/lib/ui/CodeBlock.js +1 -1
  202. package/dist/lib/ui/CodeBlock.js.map +1 -1
  203. package/dist/lib/ui/Collapsible.d.ts +4 -4
  204. package/dist/lib/ui/Collapsible.js +11 -4
  205. package/dist/lib/ui/Collapsible.js.map +1 -1
  206. package/dist/lib/ui/Command.d.ts +3 -3
  207. package/dist/lib/ui/Command.js +2 -2
  208. package/dist/lib/ui/Command.js.map +1 -1
  209. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  210. package/dist/lib/ui/DropdownMenu.js +47 -32
  211. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  212. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +0 -1
  213. package/dist/lib/ui/EmbeddedCodeBlock.js +3 -2
  214. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  215. package/dist/lib/ui/Frame.d.ts +8 -0
  216. package/dist/lib/ui/Frame.js +22 -0
  217. package/dist/lib/ui/Frame.js.map +1 -0
  218. package/dist/lib/ui/Item.d.ts +23 -0
  219. package/dist/lib/ui/Item.js +67 -0
  220. package/dist/lib/ui/Item.js.map +1 -0
  221. package/dist/lib/ui/Kbd.d.ts +3 -0
  222. package/dist/lib/ui/Kbd.js +10 -0
  223. package/dist/lib/ui/Kbd.js.map +1 -0
  224. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  225. package/dist/lib/ui/NativeSelect.js +14 -0
  226. package/dist/lib/ui/NativeSelect.js.map +1 -0
  227. package/dist/lib/ui/Select.d.ts +13 -11
  228. package/dist/lib/ui/Select.js +34 -23
  229. package/dist/lib/ui/Select.js.map +1 -1
  230. package/dist/lib/ui/Separator.d.ts +4 -0
  231. package/dist/lib/ui/Separator.js +8 -0
  232. package/dist/lib/ui/Separator.js.map +1 -0
  233. package/dist/lib/ui/Tooltip.d.ts +7 -7
  234. package/dist/lib/ui/Tooltip.js +16 -10
  235. package/dist/lib/ui/Tooltip.js.map +1 -1
  236. package/dist/lib/util/MdxComponents.d.ts +1 -0
  237. package/dist/lib/util/MdxComponents.js +2 -0
  238. package/dist/lib/util/MdxComponents.js.map +1 -1
  239. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  240. package/dist/lib/util/createVariantComponent.js +5 -2
  241. package/dist/lib/util/createVariantComponent.js.map +1 -1
  242. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  243. package/dist/lib/util/flattenAllOf.js +88 -0
  244. package/dist/lib/util/flattenAllOf.js.map +1 -0
  245. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  246. package/dist/lib/util/flattenAllOf.test.js +587 -0
  247. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  248. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  249. package/dist/lib/util/readFrontmatter.js +12 -0
  250. package/dist/lib/util/readFrontmatter.js.map +1 -0
  251. package/dist/vite/api/SchemaManager.d.ts +5 -0
  252. package/dist/vite/api/SchemaManager.js +30 -18
  253. package/dist/vite/api/SchemaManager.js.map +1 -1
  254. package/dist/vite/api/SchemaManager.test.js +67 -0
  255. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  256. package/dist/vite/config.js +8 -2
  257. package/dist/vite/config.js.map +1 -1
  258. package/dist/vite/dev-server.js +25 -0
  259. package/dist/vite/dev-server.js.map +1 -1
  260. package/dist/vite/mdx/remark-last-modified.js +57 -3
  261. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  262. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  263. package/dist/vite/pagefind-dev-index.js +68 -0
  264. package/dist/vite/pagefind-dev-index.js.map +1 -0
  265. package/dist/vite/plugin-api.js +41 -3
  266. package/dist/vite/plugin-api.js.map +1 -1
  267. package/dist/vite/plugin-frontmatter.js +3 -5
  268. package/dist/vite/plugin-frontmatter.js.map +1 -1
  269. package/dist/vite/plugin-markdown-export.js +3 -4
  270. package/dist/vite/plugin-markdown-export.js.map +1 -1
  271. package/dist/vite/plugin-theme.js +10 -1
  272. package/dist/vite/plugin-theme.js.map +1 -1
  273. package/dist/vite/prerender/prerender.js +1 -19
  274. package/dist/vite/prerender/prerender.js.map +1 -1
  275. package/dist/vite/prerender/utils.d.ts +2 -0
  276. package/dist/vite/prerender/utils.js +24 -0
  277. package/dist/vite/prerender/utils.js.map +1 -0
  278. package/lib/ActionButton-DUgvSylL.js +25 -0
  279. package/lib/ActionButton-DUgvSylL.js.map +1 -0
  280. package/lib/Button-CynVW1JV.js +53 -0
  281. package/lib/Button-CynVW1JV.js.map +1 -0
  282. package/lib/ClaudeLogo-B4Xxt-x_.js +69 -0
  283. package/lib/ClaudeLogo-B4Xxt-x_.js.map +1 -0
  284. package/lib/{Command-CUcrW3qs.js → Command-BpT1iBE6.js} +25 -25
  285. package/lib/Command-BpT1iBE6.js.map +1 -0
  286. package/lib/Drawer-Ci7XwhqT.js.map +1 -1
  287. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  288. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  289. package/lib/{ErrorAlert-DE3Sf66a.js → ErrorAlert-DrOR8w3f.js} +475 -456
  290. package/lib/ErrorAlert-DrOR8w3f.js.map +1 -0
  291. package/lib/IndexingDialog-B5zCiUKr.js +100 -0
  292. package/lib/IndexingDialog-B5zCiUKr.js.map +1 -0
  293. package/lib/MdxPage-BagO2c-n.js +210 -0
  294. package/lib/MdxPage-BagO2c-n.js.map +1 -0
  295. package/lib/Mermaid-D_VSX7_Q.js +102 -0
  296. package/lib/Mermaid-D_VSX7_Q.js.map +1 -0
  297. package/lib/{OAuthErrorPage-BycMozgn.js → OAuthErrorPage-Fq54RLgt.js} +7 -7
  298. package/lib/{OAuthErrorPage-BycMozgn.js.map → OAuthErrorPage-Fq54RLgt.js.map} +1 -1
  299. package/lib/OasProvider-DPH8mwDa.js +40 -0
  300. package/lib/OasProvider-DPH8mwDa.js.map +1 -0
  301. package/lib/OperationList-C0jiEaG5.js +5805 -0
  302. package/lib/OperationList-C0jiEaG5.js.map +1 -0
  303. package/lib/RouteGuard-9wjejsKm.js +77 -0
  304. package/lib/RouteGuard-9wjejsKm.js.map +1 -0
  305. package/lib/RouterError-DSLXagd5.js +42 -0
  306. package/lib/RouterError-DSLXagd5.js.map +1 -0
  307. package/lib/{SchemaList-xZSf3IMh.js → SchemaList-BU0zCHn9.js} +28 -27
  308. package/lib/SchemaList-BU0zCHn9.js.map +1 -0
  309. package/lib/SchemaView-DVae4RO2.js +597 -0
  310. package/lib/SchemaView-DVae4RO2.js.map +1 -0
  311. package/lib/Select-CkxXP5I7.js +243 -0
  312. package/lib/Select-CkxXP5I7.js.map +1 -0
  313. package/lib/Separator-CTPSeW1S.js +27 -0
  314. package/lib/Separator-CTPSeW1S.js.map +1 -0
  315. package/lib/{SignUp-6SGx9Yyq.js → SignUp-BjS4ozA7.js} +13 -13
  316. package/lib/{SignUp-6SGx9Yyq.js.map → SignUp-BjS4ozA7.js.map} +1 -1
  317. package/lib/{SyntaxHighlight-zvlnSnHB.js → SyntaxHighlight-Kdyskw3C.js} +710 -662
  318. package/lib/{SyntaxHighlight-zvlnSnHB.js.map → SyntaxHighlight-Kdyskw3C.js.map} +1 -1
  319. package/lib/{Toc-Da9yp7lo.js → Toc-DJxFPfcS.js} +2 -2
  320. package/lib/{Toc-Da9yp7lo.js.map → Toc-DJxFPfcS.js.map} +1 -1
  321. package/lib/{ZudokuContext-BUZ5hkWB.js → ZudokuContext-BXldanA8.js} +11 -11
  322. package/lib/{ZudokuContext-BUZ5hkWB.js.map → ZudokuContext-BXldanA8.js.map} +1 -1
  323. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  324. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  325. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js → chunk-PVWAREVJ-dLIqswPy.js} +5 -5
  326. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js.map → chunk-PVWAREVJ-dLIqswPy.js.map} +1 -1
  327. package/lib/{circular-DvuimBGQ.js → circular-CzWF1hj5.js} +6360 -5953
  328. package/lib/circular-CzWF1hj5.js.map +1 -0
  329. package/lib/createServer-BIr2_tGn.js +16693 -0
  330. package/lib/createServer-BIr2_tGn.js.map +1 -0
  331. package/lib/createVariantComponent-B9_dVBvu.js +35 -0
  332. package/lib/createVariantComponent-B9_dVBvu.js.map +1 -0
  333. package/lib/{errors-CuGgh3hf.js → errors-Bs4duWDy.js} +3 -3
  334. package/lib/{errors-CuGgh3hf.js.map → errors-Bs4duWDy.js.map} +1 -1
  335. package/lib/firebase-Cax7HPzn.js +7360 -0
  336. package/lib/firebase-Cax7HPzn.js.map +1 -0
  337. package/lib/{hook-CMeoxziF.js → hook-BNxidGQq.js} +3 -3
  338. package/lib/{hook-CMeoxziF.js.map → hook-BNxidGQq.js.map} +1 -1
  339. package/lib/index-0oT9beQN.js +3676 -0
  340. package/lib/index-0oT9beQN.js.map +1 -0
  341. package/lib/{index-rYHsvtTo.js → index-Bh-MffiL.js} +2 -2
  342. package/lib/{index-rYHsvtTo.js.map → index-Bh-MffiL.js.map} +1 -1
  343. package/lib/{index-B1rmok4X.js → index-CCmMJp02.js} +10 -10
  344. package/lib/{index-B1rmok4X.js.map → index-CCmMJp02.js.map} +1 -1
  345. package/lib/index-CrcNWbel.js.map +1 -1
  346. package/lib/index-Css56y3F.js +133 -0
  347. package/lib/index-Css56y3F.js.map +1 -0
  348. package/lib/index.esm-DDENMN4y.js +32 -0
  349. package/lib/index.esm-DDENMN4y.js.map +1 -0
  350. package/lib/{index.esm-BnYHxCYC.js → index.esm-DtzT_KoE.js} +20 -20
  351. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-DtzT_KoE.js.map} +1 -1
  352. package/lib/{invariant-Bm-FVUQE.js → invariant-CGOLuIIz.js} +3 -3
  353. package/lib/{invariant-Bm-FVUQE.js.map → invariant-CGOLuIIz.js.map} +1 -1
  354. package/lib/{mutation-BSU0xu4m.js → mutation-BoVlx8yA.js} +2 -2
  355. package/lib/{mutation-BSU0xu4m.js.map → mutation-BoVlx8yA.js.map} +1 -1
  356. package/lib/ui/ActionButton.js +1 -1
  357. package/lib/ui/Badge.js +27 -13
  358. package/lib/ui/Badge.js.map +1 -1
  359. package/lib/ui/Button.js +26 -24
  360. package/lib/ui/Button.js.map +1 -1
  361. package/lib/ui/ButtonGroup.js +77 -0
  362. package/lib/ui/ButtonGroup.js.map +1 -0
  363. package/lib/ui/Checkbox.js +29 -26
  364. package/lib/ui/Checkbox.js.map +1 -1
  365. package/lib/ui/CodeBlock.js +7 -7
  366. package/lib/ui/CodeBlock.js.map +1 -1
  367. package/lib/ui/Collapsible.js +32 -5
  368. package/lib/ui/Collapsible.js.map +1 -1
  369. package/lib/ui/Command.js +3 -3
  370. package/lib/ui/Command.js.map +1 -1
  371. package/lib/ui/DropdownMenu.js +227 -140
  372. package/lib/ui/DropdownMenu.js.map +1 -1
  373. package/lib/ui/EmbeddedCodeBlock.js +26 -25
  374. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  375. package/lib/ui/Frame.js +81 -0
  376. package/lib/ui/Frame.js.map +1 -0
  377. package/lib/ui/Item.js +188 -0
  378. package/lib/ui/Item.js.map +1 -0
  379. package/lib/ui/Kbd.js +32 -0
  380. package/lib/ui/Kbd.js.map +1 -0
  381. package/lib/ui/NativeSelect.js +57 -0
  382. package/lib/ui/NativeSelect.js.map +1 -0
  383. package/lib/ui/Select.js +166 -116
  384. package/lib/ui/Select.js.map +1 -1
  385. package/lib/ui/Separator.js +27 -0
  386. package/lib/ui/Separator.js.map +1 -0
  387. package/lib/ui/SyntaxHighlight.js +3 -3
  388. package/lib/ui/Tabs.js +10 -10
  389. package/lib/ui/Tooltip.js +55 -28
  390. package/lib/ui/Tooltip.js.map +1 -1
  391. package/lib/useMutation-C6RqWmTS.js +97 -0
  392. package/lib/useMutation-C6RqWmTS.js.map +1 -0
  393. package/lib/zudoku.__internal.js +349 -349
  394. package/lib/zudoku.__internal.js.map +1 -1
  395. package/lib/zudoku.auth-auth0.js +7 -7
  396. package/lib/zudoku.auth-auth0.js.map +1 -1
  397. package/lib/zudoku.auth-azureb2c.js +4 -4
  398. package/lib/zudoku.auth-clerk.js +2 -2
  399. package/lib/zudoku.auth-firebase.js +9 -0
  400. package/lib/zudoku.auth-firebase.js.map +1 -0
  401. package/lib/zudoku.auth-openid.js +5 -5
  402. package/lib/zudoku.auth-supabase.js +31 -34
  403. package/lib/zudoku.auth-supabase.js.map +1 -1
  404. package/lib/zudoku.components.js +7 -7
  405. package/lib/zudoku.hooks.js +11 -24
  406. package/lib/zudoku.hooks.js.map +1 -1
  407. package/lib/zudoku.mermaid.js +10 -0
  408. package/lib/zudoku.mermaid.js.map +1 -0
  409. package/lib/zudoku.plugin-api-catalog.js +6 -6
  410. package/lib/zudoku.plugin-api-keys.js +225 -216
  411. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  412. package/lib/zudoku.plugin-custom-pages.js +1 -1
  413. package/lib/zudoku.plugin-markdown.js +1 -1
  414. package/lib/zudoku.plugin-openapi.js +3 -3
  415. package/lib/zudoku.plugin-redirect.js +1 -1
  416. package/lib/zudoku.plugin-search-pagefind.js +184 -226
  417. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  418. package/lib/zudoku.plugins.js.map +1 -1
  419. package/lib/zudoku.router.js +2 -2
  420. package/package.json +44 -27
  421. package/src/app/main.css +1 -1
  422. package/src/app/main.tsx +5 -1
  423. package/src/app/sentry.ts +1 -1
  424. package/src/lib/auth/issuer.ts +3 -0
  425. package/src/lib/authentication/authentication.ts +1 -1
  426. package/src/lib/authentication/providers/auth0.tsx +6 -1
  427. package/src/lib/authentication/providers/firebase.tsx +284 -0
  428. package/src/lib/authentication/providers/supabase.tsx +2 -7
  429. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +335 -0
  430. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  431. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  432. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  433. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  434. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  435. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  436. package/src/lib/components/Autocomplete.tsx +11 -2
  437. package/src/lib/components/Layout.tsx +3 -2
  438. package/src/lib/components/Mermaid.tsx +68 -0
  439. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  440. package/src/lib/components/Zudoku.tsx +4 -7
  441. package/src/lib/components/navigation/NavigationItem.tsx +7 -20
  442. package/src/lib/core/RouteGuard.tsx +9 -9
  443. package/src/lib/core/plugins.ts +2 -2
  444. package/src/lib/errors/ErrorAlert.tsx +1 -1
  445. package/src/lib/errors/RouterError.tsx +7 -2
  446. package/src/lib/oas/parser/index.ts +10 -3
  447. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  448. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  449. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  450. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  451. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  452. package/src/lib/plugins/openapi/OasProvider.tsx +30 -17
  453. package/src/lib/plugins/openapi/OperationList.tsx +46 -21
  454. package/src/lib/plugins/openapi/OperationListItem.tsx +15 -12
  455. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  456. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  457. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  458. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  459. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  460. package/src/lib/plugins/openapi/Sidecar.tsx +145 -65
  461. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  462. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  463. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  464. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  465. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  466. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  467. package/src/lib/plugins/openapi/index.tsx +16 -7
  468. package/src/lib/plugins/openapi/interfaces.ts +28 -7
  469. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  470. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  471. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  472. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  473. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  474. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  475. package/src/lib/plugins/openapi/playground/Playground.tsx +75 -33
  476. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +9 -30
  477. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  478. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  479. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  480. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  481. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  482. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +2 -6
  483. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  484. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  485. package/src/lib/plugins/openapi/schema/SchemaView.tsx +98 -60
  486. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  487. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  488. package/src/lib/plugins/openapi/schema/utils.ts +5 -2
  489. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  490. package/src/lib/plugins/openapi/util/getRoutes.tsx +35 -3
  491. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  492. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  493. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  494. package/src/lib/shiki.ts +21 -12
  495. package/src/lib/ui/Badge.tsx +21 -12
  496. package/src/lib/ui/Button.tsx +10 -9
  497. package/src/lib/ui/ButtonGroup.tsx +82 -0
  498. package/src/lib/ui/Checkbox.tsx +23 -24
  499. package/src/lib/ui/CodeBlock.tsx +3 -4
  500. package/src/lib/ui/Collapsible.tsx +26 -4
  501. package/src/lib/ui/Command.tsx +3 -3
  502. package/src/lib/ui/DropdownMenu.tsx +226 -170
  503. package/src/lib/ui/EmbeddedCodeBlock.tsx +21 -19
  504. package/src/lib/ui/Frame.tsx +81 -0
  505. package/src/lib/ui/Item.tsx +192 -0
  506. package/src/lib/ui/Kbd.tsx +28 -0
  507. package/src/lib/ui/NativeSelect.tsx +47 -0
  508. package/src/lib/ui/Select.tsx +153 -126
  509. package/src/lib/ui/Separator.tsx +25 -0
  510. package/src/lib/ui/Tooltip.tsx +54 -32
  511. package/src/lib/util/MdxComponents.tsx +2 -0
  512. package/src/lib/util/createVariantComponent.tsx +31 -5
  513. package/src/lib/util/flattenAllOf.test.ts +689 -0
  514. package/src/lib/util/flattenAllOf.ts +122 -0
  515. package/src/lib/util/readFrontmatter.ts +13 -0
  516. package/src/shiki/langs/markdown-nix.js +1 -0
  517. package/src/shiki/langs/openscad.js +1 -0
  518. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  519. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  520. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  521. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  522. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  523. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  524. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  525. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  526. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  527. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  528. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  529. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  530. package/dist/vite/create-pagefind-index.d.ts +0 -4
  531. package/dist/vite/create-pagefind-index.js +0 -12
  532. package/dist/vite/create-pagefind-index.js.map +0 -1
  533. package/lib/Button-DmS4u8Lj.js +0 -51
  534. package/lib/Button-DmS4u8Lj.js.map +0 -1
  535. package/lib/Command-CUcrW3qs.js.map +0 -1
  536. package/lib/DropdownMenu-BZ2NKQ3K.js +0 -126
  537. package/lib/DropdownMenu-BZ2NKQ3K.js.map +0 -1
  538. package/lib/ErrorAlert-DE3Sf66a.js.map +0 -1
  539. package/lib/MdxPage-DZfeC0QY.js +0 -240
  540. package/lib/MdxPage-DZfeC0QY.js.map +0 -1
  541. package/lib/OasProvider-Bf5zBDBY.js +0 -36
  542. package/lib/OasProvider-Bf5zBDBY.js.map +0 -1
  543. package/lib/OperationList-Cmiw1xm2.js +0 -5446
  544. package/lib/OperationList-Cmiw1xm2.js.map +0 -1
  545. package/lib/Pagination-CJszmeSA.js +0 -37
  546. package/lib/Pagination-CJszmeSA.js.map +0 -1
  547. package/lib/RouteGuard-DhU3LRr1.js +0 -81
  548. package/lib/RouteGuard-DhU3LRr1.js.map +0 -1
  549. package/lib/RouterError-VDLnrFqF.js +0 -41
  550. package/lib/RouterError-VDLnrFqF.js.map +0 -1
  551. package/lib/SchemaList-xZSf3IMh.js.map +0 -1
  552. package/lib/SchemaView-tHXTm5oM.js +0 -458
  553. package/lib/SchemaView-tHXTm5oM.js.map +0 -1
  554. package/lib/Select-C1DeCqKv.js +0 -372
  555. package/lib/Select-C1DeCqKv.js.map +0 -1
  556. package/lib/circular-DvuimBGQ.js.map +0 -1
  557. package/lib/createServer-D9UvCoDf.js +0 -12559
  558. package/lib/createServer-D9UvCoDf.js.map +0 -1
  559. package/lib/index-Cr9_YzOZ.js +0 -3364
  560. package/lib/index-Cr9_YzOZ.js.map +0 -1
  561. package/lib/useExposedProps-U3pmsHaG.js +0 -113
  562. package/lib/useExposedProps-U3pmsHaG.js.map +0 -1
  563. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  564. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  565. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  566. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronDownIcon, CopyIcon, DownloadIcon, ExternalLinkIcon, } from "lucide-react";
3
+ import { Button } from "zudoku/components";
4
+ import { ButtonGroup } from "zudoku/ui/ButtonGroup.js";
5
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "zudoku/ui/DropdownMenu.js";
6
+ import { useCopyToClipboard } from "../../util/useCopyToClipboard.js";
7
+ import { ChatGPTLogo } from "../markdown/assets/ChatGPTLogo.js";
8
+ import { ClaudeLogo } from "../markdown/assets/ClaudeLogo.js";
9
+ export const DownloadSchemaButton = ({ downloadUrl, }) => {
10
+ const [, copyToClipboard] = useCopyToClipboard();
11
+ const handleDownload = async (e) => {
12
+ const isExternal = downloadUrl.includes("://");
13
+ if (!isExternal)
14
+ return;
15
+ e.preventDefault();
16
+ try {
17
+ const response = await fetch(downloadUrl);
18
+ if (!response.ok)
19
+ throw new Error(`Failed to fetch: ${response.statusText}`);
20
+ const blob = await response.blob();
21
+ const url = window.URL.createObjectURL(blob);
22
+ const a = document.createElement("a");
23
+ a.href = url;
24
+ a.download = downloadUrl.split("/").pop() || "schema.json";
25
+ document.body.appendChild(a);
26
+ a.click();
27
+ document.body.removeChild(a);
28
+ window.URL.revokeObjectURL(url);
29
+ }
30
+ catch (error) {
31
+ // biome-ignore lint/suspicious/noConsole: Logging error
32
+ console.error("Failed to download schema:", error);
33
+ }
34
+ };
35
+ return (_jsxs(ButtonGroup, { children: [_jsx(Button, { variant: "outline", size: "sm", className: "flex items-center gap-1.5", asChild: true, children: _jsxs("a", { href: downloadUrl, download: true, onClick: handleDownload, children: [_jsx(DownloadIcon, { size: 14 }), "Download schema"] }) }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { size: "sm", variant: "outline", className: "px-1.5", children: _jsx(ChevronDownIcon, { size: 14 }) }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuItem, { asChild: true, children: _jsxs("a", { href: downloadUrl, target: "_blank", rel: "noopener noreferrer", children: [_jsx(ExternalLinkIcon, { size: 14 }), "Open in new tab"] }) }), _jsxs(DropdownMenuItem, { onClick: async () => {
36
+ const response = await fetch(downloadUrl);
37
+ const schema = await response.text();
38
+ copyToClipboard(schema);
39
+ }, children: [_jsx(CopyIcon, { size: 14 }), "Copy to clipboard"] }), _jsxs(DropdownMenuItem, { onClick: () => {
40
+ const prompt = encodeURIComponent(`Help me understand this API: ${new URL(downloadUrl, window.location.href).href}`);
41
+ window.open(`https://claude.ai/new?q=${prompt}`, "_blank");
42
+ }, children: [_jsx(ClaudeLogo, { className: "size-4" }), "Use in Claude"] }), _jsxs(DropdownMenuItem, { onClick: () => {
43
+ const prompt = encodeURIComponent(`Help me understand this API: ${new URL(downloadUrl, window.location.href).href}`);
44
+ window.open(`https://chatgpt.com/?q=${prompt}`, "_blank");
45
+ }, children: [_jsx(ChatGPTLogo, { className: "size-4" }), "Use in ChatGPT"] })] })] })] }));
46
+ };
47
+ //# sourceMappingURL=DownloadSchemaButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DownloadSchemaButton.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/DownloadSchemaButton.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ const CopyButton = ({ url }) => {
26
26
  setIsCopied(true);
27
27
  setTimeout(() => setIsCopied(false), 2000);
28
28
  });
29
- }, variant: "ghost", size: "icon", children: isCopied ? (_jsx(CheckIcon, { className: "text-green-600", size: 14 })) : (_jsx(CopyIcon, { size: 14, strokeWidth: 1.3 })) }));
29
+ }, variant: "ghost", size: "icon-xs", children: isCopied ? (_jsx(CheckIcon, { className: "text-green-600", size: 14 })) : (_jsx(CopyIcon, { size: 14, strokeWidth: 1.3 })) }));
30
30
  };
31
31
  export const Endpoint = () => {
32
32
  const { input, type } = useOasConfig();
@@ -38,12 +38,9 @@ export const Endpoint = () => {
38
38
  const firstServer = servers.at(0);
39
39
  if (!firstServer)
40
40
  return null;
41
- if (servers.length === 1) {
42
- return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-sm", children: "Endpoint:" }), _jsx(InlineCode, { className: "text-xs px-2 py-1.5", selectOnClick: true, children: firstServer.url }), _jsx(CopyButton, { url: firstServer.url })] }));
43
- }
44
- return (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "font-medium text-sm", children: "Endpoint" }), _jsx(SimpleSelect, { className: "font-mono text-xs bg-border/50 dark:bg-border/70 py-1.5 max-w-[450px] truncate", onChange: (e) => startTransition(() => setSelectedServer(e.target.value)), value: selectedServer, showChevrons: servers.length > 1, options: servers.map((server) => ({
41
+ return (_jsxs("div", { className: "flex items-center gap-1.5 flex-nowrap", children: [_jsx("span", { className: "font-medium text-sm", children: "Endpoint" }), servers.length > 1 ? (_jsx(SimpleSelect, { className: "font-mono text-xs border-input bg-transparent dark:bg-input/30 dark:hover:bg-input/50 py-1.5 max-w-[450px] truncate", onChange: (e) => startTransition(() => setSelectedServer(e.target.value)), value: selectedServer, showChevrons: servers.length > 1, options: servers.map((server) => ({
45
42
  value: server.url,
46
43
  label: server.url,
47
- })) }), _jsx(CopyButton, { url: selectedServer })] }));
44
+ })) })) : (_jsx(InlineCode, { className: "text-xs px-2 py-1.5", selectOnClick: true, children: firstServer.url })), _jsx(CopyButton, { url: servers.length > 1 ? selectedServer : firstServer.url })] }));
48
45
  };
49
46
  //# sourceMappingURL=Endpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Endpoint.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Endpoint.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const GeneratedExampleSidecarBox: ({ code, isOnScreen, shouldLazyHighlight, }: {
2
+ code: string;
3
+ isOnScreen: boolean;
4
+ shouldLazyHighlight?: boolean;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { InfoIcon } from "lucide-react";
3
+ import { SyntaxHighlight } from "zudoku/ui/SyntaxHighlight.js";
4
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "zudoku/ui/Tooltip.js";
5
+ import { NonHighlightedCode } from "./components/NonHighlightedCode.js";
6
+ import * as SidecarBox from "./SidecarBox.js";
7
+ export const GeneratedExampleSidecarBox = ({ code, isOnScreen, shouldLazyHighlight, }) => {
8
+ return (_jsxs(SidecarBox.Root, { children: [_jsx(SidecarBox.Head, { className: "text-xs flex justify-between items-center", children: _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "font-medium", children: "Example Request Body" }), _jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(InfoIcon, { size: 13 }) }), _jsx(TooltipContent, { children: "This example is auto-generated from the schema." })] }) })] }) }), _jsx(SidecarBox.Body, { className: "p-0", children: shouldLazyHighlight && !isOnScreen ? (_jsx(NonHighlightedCode, { code: code })) : (_jsx(SyntaxHighlight, { embedded: true, language: "json", code: code, className: "[--scrollbar-color:gray] rounded-none text-xs max-h-[200px]" })) })] }));
9
+ };
10
+ //# sourceMappingURL=GeneratedExampleSidecarBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneratedExampleSidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,IAAI,EACJ,UAAU,EACV,mBAAmB,GAKpB,EAAE,EAAE;IACH,OAAO,CACL,MAAC,UAAU,CAAC,IAAI,eACd,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACpE,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,aAAa,qCAA4B,EACzD,KAAC,eAAe,cACd,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GACP,EACjB,KAAC,cAAc,kEAEE,IACT,GACM,IACd,GACU,EAClB,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,KAAK,YAC7B,mBAAmB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACpC,KAAC,kBAAkB,IAAC,IAAI,EAAE,IAAI,GAAI,CACnC,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IACd,QAAQ,QACR,QAAQ,EAAC,MAAM,EACf,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,6DAA6D,GACvE,CACH,GACe,IACF,CACnB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,27 +1,36 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { Outlet } from "react-router";
4
- import { joinPath } from "../../util/joinPath.js";
4
+ import { joinUrl } from "../../util/joinUrl.js";
5
5
  import { GraphQLProvider } from "./client/GraphQLContext.js";
6
6
  import { OasConfigProvider } from "./context.js";
7
- import { getVersions } from "./util/getRoutes.js";
7
+ import { getVersionMetadata } from "./util/getRoutes.js";
8
8
  export const OasProvider = ({ basePath, version, config, client, }) => {
9
9
  const value = useMemo(() => {
10
- const versions = getVersions(config);
11
- const firstVersion = Object.values(config.input).at(0);
12
- const input = config.type === "file"
13
- ? {
14
- type: config.type,
15
- // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
16
- input: version ? config.input[version] : firstVersion,
10
+ const { versions: availableVersions, labels } = getVersionMetadata(config);
11
+ const currentVersion = version ?? availableVersions.at(0);
12
+ const versionLinks = Object.fromEntries(availableVersions.map((id) => [
13
+ id,
14
+ { path: joinUrl(basePath, id), label: labels[id] ?? id },
15
+ ]));
16
+ const resolveInput = () => {
17
+ if (!Array.isArray(config.input)) {
18
+ return config.input;
17
19
  }
18
- : { type: config.type, input: config.input };
20
+ const versionConfig = currentVersion
21
+ ? config.input.find((v) => v.path === currentVersion)
22
+ : config.input[0];
23
+ if (!versionConfig) {
24
+ throw new Error(`No input found for version: ${currentVersion}`);
25
+ }
26
+ return versionConfig.input;
27
+ };
19
28
  return {
20
29
  config: {
21
30
  ...config,
22
- version: version ?? versions.at(0),
23
- versions: Object.fromEntries(versions.map((version) => [version, joinPath(basePath, version)])),
24
- ...input,
31
+ version: currentVersion,
32
+ versions: versionLinks,
33
+ input: resolveInput(),
25
34
  },
26
35
  };
27
36
  }, [config, basePath, version]);
@@ -1 +1 @@
1
- {"version":3,"file":"OasProvider.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OasProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,GAMP,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,MAAM;YACpB,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,0EAA0E;gBAC1E,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,YAAa;aACxD;YACH,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAEjD,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAClE;gBACD,GAAG,KAAK;aACT;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,YAC7B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,YAC7B,KAAC,MAAM,KAAG,GACM,GACA,CACrB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"OasProvider.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OasProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,GAMP,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,OAAO,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YAC5B,EAAE;YACF,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;SACzD,CAAC,CACH,CAAC;QAEF,MAAM,YAAY,GAAG,GAAsC,EAAE;YAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;YAED,MAAM,aAAa,GAAG,cAAc;gBAClC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,aAAa,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,YAAY,EAAE;aACtB;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,YAC7B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,YAC7B,KAAC,MAAM,KAAG,GACM,GACA,CACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -9,9 +9,12 @@ import { CategoryHeading } from "../../components/CategoryHeading.js";
9
9
  import { useApiIdentities } from "../../components/context/ZudokuContext.js";
10
10
  import { Heading } from "../../components/Heading.js";
11
11
  import { Markdown } from "../../components/Markdown.js";
12
+ import { PagefindSearchMeta } from "../../components/PagefindSearchMeta.js";
12
13
  import { Pagination } from "../../components/Pagination.js";
14
+ import { joinUrl } from "../../util/joinUrl.js";
13
15
  import { useCreateQuery } from "./client/useCreateQuery.js";
14
16
  import { useOasConfig } from "./context.js";
17
+ import { DownloadSchemaButton } from "./DownloadSchemaButton.js";
15
18
  import { Endpoint } from "./Endpoint.js";
16
19
  import { graphql } from "./graphql/index.js";
17
20
  import { UNTAGGED_PATH } from "./index.js";
@@ -133,8 +136,9 @@ const OperationsForTagQuery = graphql(/* GraphQL */ `
133
136
  }
134
137
  }
135
138
  `);
139
+ const LAZY_OPERATION_LIST_THRESHOLD = 30;
136
140
  export const OperationList = ({ tag, untagged, }) => {
137
- const { input, type, versions, version, options } = useOasConfig();
141
+ const { path, input, type, versions, version, options } = useOasConfig();
138
142
  const { tag: tagFromParams } = useParams();
139
143
  const query = useCreateQuery(OperationsForTagQuery, {
140
144
  input,
@@ -163,6 +167,9 @@ export const OperationList = ({ tag, untagged, }) => {
163
167
  return (_jsxs("div", { className: "flex flex-col h-full items-center justify-center text-center", children: [_jsx("div", { className: "text-muted-foreground font-medium", children: "No operations found" }), _jsx("div", { className: "mt-2 text-sm text-muted-foreground", children: "This API doesn't have any operations defined yet." })] }));
164
168
  }
165
169
  const { operations, next, prev, description: tagDescription } = schema.tag;
170
+ // Simple heuristic to determine if we should lazy highlight the code
171
+ // This is to avoid the performance issues when there are a lot of operations
172
+ const shouldLazyHighlight = operations.length > LAZY_OPERATION_LIST_THRESHOLD;
166
173
  // The summary property is preferable here as it is a short description of
167
174
  // the API, whereas the description property is typically longer and supports
168
175
  // commonmark formatting, making it ill-suited for use in the meta description
@@ -194,10 +201,13 @@ export const OperationList = ({ tag, untagged, }) => {
194
201
  };
195
202
  const tagTitle = schema.tag.extensions?.["x-displayName"] ?? schema.tag.name;
196
203
  const helmetTitle = [tagTitle, title].filter(Boolean).join(" - ");
197
- return (_jsxs("div", { className: "pt-(--padding-content-top)", "data-pagefind-filter": "section:openapi", "data-pagefind-meta": "section:openapi", children: [_jsxs(Helmet, { children: [helmetTitle && _jsx("title", { children: helmetTitle }), metaDescription && (_jsx("meta", { name: "description", content: metaDescription }))] }), _jsxs("div", { className: "mb-8", children: [_jsxs(Collapsible, { className: "w-full", defaultOpen: options?.expandApiInformation, children: [_jsxs("div", { className: "flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end", children: [_jsxs("div", { className: "flex flex-col flex-1 gap-2", children: [_jsx(CategoryHeading, { children: title }), _jsxs(Heading, { level: 1, id: "description", registerNavigationAnchor: true, className: "mb-0", children: [tagTitle, showVersions && (_jsxs("span", { className: "text-xl text-muted-foreground ms-1.5", children: [" ", "(", version, ")"] }))] }), _jsx(Endpoint, {})] }), _jsxs("div", { className: "flex flex-col gap-4 sm:items-end", children: [showVersions && (_jsxs(Select
198
- // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
199
- , {
200
- // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
201
- onValueChange: (version) => navigate(versions[version]), defaultValue: version, disabled: !hasMultipleVersions, children: [_jsx(SelectTrigger, { className: "w-[180px]", children: _jsx(SelectValue, { placeholder: "Select version" }) }), _jsx(SelectContent, { children: Object.entries(versions).map(([version]) => (_jsx(SelectItem, { value: version, children: version }, version))) })] })), schema.description && (_jsxs(CollapsibleTrigger, { className: "flex items-center gap-1 text-sm font-medium text-muted-foreground group", children: [_jsx("span", { children: "API information" }), _jsx(ChevronsUpDownIcon, { className: "group-data-[state=open]:hidden translate-y-px", size: 14 }), _jsx(ChevronsDownUpIcon, { className: "group-data-[state=closed]:hidden translate-y-px", size: 13 })] }))] })] }), schema.description && (_jsx(CollapsibleContent, { className: "CollapsibleContent", children: _jsx("div", { className: "mt-4 max-w-full border rounded-sm bg-muted/25", children: _jsx(Markdown, { className: "max-w-full prose-img:max-w-prose border-border p-3 lg:p-5", content: schema.description }) }) }))] }), tagDescription && (_jsx(Markdown, { className: "my-4 max-w-full prose-img:max-w-prose", content: tagDescription }))] }), _jsx("hr", {}), _jsxs("div", { className: "px-6 mt-6 -mx-6 [content-visibility:auto]", children: [operations.map((fragment) => (_jsxs("div", { children: [_jsx(OperationListItem, { operationFragment: fragment, globalSelectedServer: globalSelectedServer }), _jsx("hr", { className: "my-10" })] }, fragment.slug))), _jsx(Pagination, { className: "mb-4", ...paginationProps })] })] }));
204
+ const downloadUrl = typeof input === "string"
205
+ ? type === "url"
206
+ ? input
207
+ : joinUrl(path, version, input.split("/").pop())
208
+ : undefined;
209
+ return (_jsxs("div", { className: "pt-(--padding-content-top)", "data-pagefind-filter": "section:openapi", "data-pagefind-meta": "section:openapi", children: [_jsx(PagefindSearchMeta, { name: "category", children: title }), _jsxs(Helmet, { children: [helmetTitle && _jsx("title", { children: helmetTitle }), metaDescription && (_jsx("meta", { name: "description", content: metaDescription }))] }), _jsxs("div", { className: "mb-8", children: [_jsxs(Collapsible, { className: "w-full", defaultOpen: options?.expandApiInformation, children: [_jsxs("div", { className: "flex flex-col gap-4 sm:flex-row justify-around items-start sm:items-end", children: [_jsxs("div", { className: "flex flex-col flex-1 gap-2", children: [_jsx(CategoryHeading, { children: title }), _jsxs(Heading, { level: 1, id: "description", registerNavigationAnchor: true, className: "mb-0", children: [tagTitle, showVersions && (_jsxs("span", { className: "text-xl text-muted-foreground ms-1.5", children: [" ", "(", version, ")"] }))] }), _jsx(Endpoint, {})] }), _jsxs("div", { className: "flex flex-col gap-4 sm:items-end", children: [_jsxs("div", { className: "flex gap-2 items-center", children: [showVersions && (_jsxs(Select, { onValueChange: (version) =>
210
+ // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
211
+ navigate(versions[version].path), defaultValue: version, disabled: !hasMultipleVersions, children: [_jsx(SelectTrigger, { className: "w-[180px]", size: "sm", children: _jsx(SelectValue, { placeholder: "Select version" }) }), _jsx(SelectContent, { children: Object.entries(versions).map(([version, { label }]) => (_jsx(SelectItem, { value: version, children: label }, version))) })] })), options?.schemaDownload?.enabled && downloadUrl && (_jsx(DownloadSchemaButton, { downloadUrl: downloadUrl }))] }), schema.description && (_jsxs(CollapsibleTrigger, { className: "flex items-center gap-1 text-sm font-medium text-muted-foreground group", children: [_jsx("span", { children: "API information" }), _jsx(ChevronsUpDownIcon, { className: "group-data-[state=open]:hidden translate-y-px", size: 14 }), _jsx(ChevronsDownUpIcon, { className: "group-data-[state=closed]:hidden translate-y-px", size: 13 })] }))] })] }), schema.description && (_jsx(CollapsibleContent, { className: "CollapsibleContent", children: _jsx("div", { className: "mt-4 max-w-full border rounded-sm bg-muted/25", children: _jsx(Markdown, { className: "max-w-full prose-img:max-w-prose border-border p-3 lg:p-5", content: schema.description }) }) }))] }), tagDescription && (_jsx(Markdown, { className: "my-4 max-w-full prose-img:max-w-prose", content: tagDescription }))] }), _jsx("hr", {}), _jsxs("div", { className: "px-6 mt-6 -mx-6 [content-visibility:auto]", children: [operations.map((fragment) => (_jsxs("div", { children: [_jsx(OperationListItem, { operationFragment: fragment, globalSelectedServer: globalSelectedServer, shouldLazyHighlight: shouldLazyHighlight }), _jsx("hr", { className: "my-10" })] }, fragment.slug))), _jsx(Pagination, { className: "mb-4", ...paginationProps })] })] }));
202
212
  };
203
213
  //# sourceMappingURL=OperationList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OperationList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEvD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;CAM/C,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,GAAG,EACH,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;IACnE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,SAAS,EAAS,CAAC;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,qBAAqB,EAAE;QAClD,KAAK;QACL,IAAI;QACJ,GAAG,EAAE,GAAG,IAAI,aAAa;QACzB,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,EACJ,IAAI,EAAE,EAAE,MAAM,EAAE,GACjB,GAAG,MAAM,CAAC;IACX,8CAA8C;IAC9C,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,iBAAiB,CAChE,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,mIAAmI;IACnI,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,QAAQ,CAAC;QACP,GAAG,WAAW;QACd,OAAO,EAAE,OAAO,MAAM,KAAK,WAAW;QACtC,mBAAmB,EAAE,EAAE;KACxB,CAAC,CAAC;IAEH,0BAA0B;IAC1B,gBAAgB,EAAE,CAAC;IAEnB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CACL,eAAK,SAAS,EAAC,8DAA8D,aAC3E,cAAK,SAAS,EAAC,mCAAmC,oCAE5C,EACN,cAAK,SAAS,EAAC,oCAAoC,kEAE7C,IACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;IAE3E,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,eAAe,GAAG,cAAc;QACpC,CAAC,CAAC,0BAA0B,CAAC,cAAc,CAAC;QAC5C,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,0BAA0B,CAAC,WAAW,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhE,MAAM,YAAY,GAChB,OAAO,EAAE,iBAAiB,KAAK,QAAQ;QACvC,CAAC,mBAAmB,IAAI,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,IAAI;YACR,CAAC,CAAC;gBACE,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,IAAI;aACvD;YACH,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,IAAI;YACR,CAAC,CAAC;gBACE,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE;gBACtC,KAAK,EACH,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBAClC,IAAI,CAAC,IAAI;oBACT,iBAAiB;aACpB;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7E,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACL,eACE,SAAS,EAAC,4BAA4B,0BACjB,iBAAiB,wBACnB,iBAAiB,aAEpC,MAAC,MAAM,eACJ,WAAW,IAAI,0BAAQ,WAAW,GAAS,EAC3C,eAAe,IAAI,CAClB,eAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,eAAe,GAAI,CACtD,IACM,EAET,eAAK,SAAS,EAAC,MAAM,aACnB,MAAC,WAAW,IACV,SAAS,EAAC,QAAQ,EAClB,WAAW,EAAE,OAAO,EAAE,oBAAoB,aAE1C,eAAK,SAAS,EAAC,2EAA2E,aACxF,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,eAAe,cAAE,KAAK,GAAmB,EAC1C,MAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,EAAE,EAAC,aAAa,EAChB,wBAAwB,QACxB,SAAS,EAAC,MAAM,aAEf,QAAQ,EACR,YAAY,IAAI,CACf,gBAAM,SAAS,EAAC,sCAAsC,aACnD,GAAG,OACF,OAAO,SACJ,CACR,IACO,EACV,KAAC,QAAQ,KAAG,IACR,EACN,eAAK,SAAS,EAAC,kCAAkC,aAC9C,YAAY,IAAI,CACf,MAAC,MAAM;4CACL,0EAA0E;;gDAA1E,0EAA0E;gDAC1E,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAE,CAAC,EACxD,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,CAAC,mBAAmB,aAE9B,KAAC,aAAa,IAAC,SAAS,EAAC,WAAW,YAClC,KAAC,WAAW,IAAC,WAAW,EAAC,gBAAgB,GAAG,GAC9B,EAChB,KAAC,aAAa,cACX,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAC3C,KAAC,UAAU,IAAe,KAAK,EAAE,OAAO,YACrC,OAAO,IADO,OAAO,CAEX,CACd,CAAC,GACY,IACT,CACV,EACA,MAAM,CAAC,WAAW,IAAI,CACrB,MAAC,kBAAkB,IAAC,SAAS,EAAC,yEAAyE,aACrG,6CAA4B,EAE5B,KAAC,kBAAkB,IACjB,SAAS,EAAC,+CAA+C,EACzD,IAAI,EAAE,EAAE,GACR,EACF,KAAC,kBAAkB,IACjB,SAAS,EAAC,iDAAiD,EAC3D,IAAI,EAAE,EAAE,GACR,IACiB,CACtB,IACG,IACF,EACL,MAAM,CAAC,WAAW,IAAI,CACrB,KAAC,kBAAkB,IAAC,SAAS,EAAC,oBAAoB,YAChD,cAAK,SAAS,EAAC,+CAA+C,YAC5D,KAAC,QAAQ,IACP,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,MAAM,CAAC,WAAW,GAC3B,GACE,GACa,CACtB,IACW,EACb,cAAc,IAAI,CACjB,KAAC,QAAQ,IACP,SAAS,EAAC,uCAAuC,EACjD,OAAO,EAAE,cAAc,GACvB,CACH,IACG,EACN,cAAM,EAEN,eAAK,SAAS,EAAC,2CAA2C,aACvD,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC5B,0BACE,KAAC,iBAAiB,IAChB,iBAAiB,EAAE,QAAQ,EAC3B,oBAAoB,EAAE,oBAAoB,GAC1C,EACF,aAAI,SAAS,EAAC,OAAO,GAAG,KALhB,QAAQ,CAAC,IAAI,CAMjB,CACP,CAAC,EACF,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,KAAK,eAAe,GAAI,IAChD,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"OperationList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEvD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;CAM/C,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCnD,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,GAAG,EACH,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;IACzE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,SAAS,EAAS,CAAC;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,qBAAqB,EAAE;QAClD,KAAK;QACL,IAAI;QACJ,GAAG,EAAE,GAAG,IAAI,aAAa;QACzB,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,EACJ,IAAI,EAAE,EAAE,MAAM,EAAE,GACjB,GAAG,MAAM,CAAC;IACX,8CAA8C;IAC9C,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,iBAAiB,CAChE,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,mIAAmI;IACnI,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,QAAQ,CAAC;QACP,GAAG,WAAW;QACd,OAAO,EAAE,OAAO,MAAM,KAAK,WAAW;QACtC,mBAAmB,EAAE,EAAE;KACxB,CAAC,CAAC;IAEH,0BAA0B;IAC1B,gBAAgB,EAAE,CAAC;IAEnB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CACL,eAAK,SAAS,EAAC,8DAA8D,aAC3E,cAAK,SAAS,EAAC,mCAAmC,oCAE5C,EACN,cAAK,SAAS,EAAC,oCAAoC,kEAE7C,IACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;IAE3E,qEAAqE;IACrE,6EAA6E;IAC7E,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,GAAG,6BAA6B,CAAC;IAE9E,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,eAAe,GAAG,cAAc;QACpC,CAAC,CAAC,0BAA0B,CAAC,cAAc,CAAC;QAC5C,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,0BAA0B,CAAC,WAAW,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhE,MAAM,YAAY,GAChB,OAAO,EAAE,iBAAiB,KAAK,QAAQ;QACvC,CAAC,mBAAmB,IAAI,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,IAAI;YACR,CAAC,CAAC;gBACE,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,IAAI;aACvD;YACH,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,IAAI;YACR,CAAC,CAAC;gBACE,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE;gBACtC,KAAK,EACH,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBAClC,IAAI,CAAC,IAAI;oBACT,iBAAiB;aACpB;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7E,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,WAAW,GACf,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,IAAI,KAAK,KAAK;YACd,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,eACE,SAAS,EAAC,4BAA4B,0BACjB,iBAAiB,wBACnB,iBAAiB,aAEpC,KAAC,kBAAkB,IAAC,IAAI,EAAC,UAAU,YAAE,KAAK,GAAsB,EAChE,MAAC,MAAM,eACJ,WAAW,IAAI,0BAAQ,WAAW,GAAS,EAC3C,eAAe,IAAI,CAClB,eAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,eAAe,GAAI,CACtD,IACM,EAET,eAAK,SAAS,EAAC,MAAM,aACnB,MAAC,WAAW,IACV,SAAS,EAAC,QAAQ,EAClB,WAAW,EAAE,OAAO,EAAE,oBAAoB,aAE1C,eAAK,SAAS,EAAC,yEAAyE,aACtF,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,eAAe,cAAE,KAAK,GAAmB,EAC1C,MAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,EAAE,EAAC,aAAa,EAChB,wBAAwB,QACxB,SAAS,EAAC,MAAM,aAEf,QAAQ,EACR,YAAY,IAAI,CACf,gBAAM,SAAS,EAAC,sCAAsC,aACnD,GAAG,OACF,OAAO,SACJ,CACR,IACO,EACV,KAAC,QAAQ,KAAG,IACR,EACN,eAAK,SAAS,EAAC,kCAAkC,aAC/C,eAAK,SAAS,EAAC,yBAAyB,aACrC,YAAY,IAAI,CACf,MAAC,MAAM,IACL,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;wDACzB,0EAA0E;wDAC1E,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,EAEnC,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,CAAC,mBAAmB,aAE9B,KAAC,aAAa,IAAC,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,IAAI,YAC5C,KAAC,WAAW,IAAC,WAAW,EAAC,gBAAgB,GAAG,GAC9B,EAChB,KAAC,aAAa,cACX,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACtD,KAAC,UAAU,IAAe,KAAK,EAAE,OAAO,YACrC,KAAK,IADS,OAAO,CAEX,CACd,CAAC,GACY,IACT,CACV,EACA,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,WAAW,IAAI,CAClD,KAAC,oBAAoB,IAAC,WAAW,EAAE,WAAW,GAAI,CACnD,IACG,EACL,MAAM,CAAC,WAAW,IAAI,CACrB,MAAC,kBAAkB,IAAC,SAAS,EAAC,yEAAyE,aACrG,6CAA4B,EAE5B,KAAC,kBAAkB,IACjB,SAAS,EAAC,+CAA+C,EACzD,IAAI,EAAE,EAAE,GACR,EACF,KAAC,kBAAkB,IACjB,SAAS,EAAC,iDAAiD,EAC3D,IAAI,EAAE,EAAE,GACR,IACiB,CACtB,IACG,IACF,EACL,MAAM,CAAC,WAAW,IAAI,CACrB,KAAC,kBAAkB,IAAC,SAAS,EAAC,oBAAoB,YAChD,cAAK,SAAS,EAAC,+CAA+C,YAC5D,KAAC,QAAQ,IACP,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,MAAM,CAAC,WAAW,GAC3B,GACE,GACa,CACtB,IACW,EACb,cAAc,IAAI,CACjB,KAAC,QAAQ,IACP,SAAS,EAAC,uCAAuC,EACjD,OAAO,EAAE,cAAc,GACvB,CACH,IACG,EACN,cAAM,EAEN,eAAK,SAAS,EAAC,2CAA2C,aACvD,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC5B,0BACE,KAAC,iBAAiB,IAChB,iBAAiB,EAAE,QAAQ,EAC3B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,GACxC,EACF,aAAI,SAAS,EAAC,OAAO,GAAG,KANhB,QAAQ,CAAC,IAAI,CAOjB,CACP,CAAC,EACF,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,KAAK,eAAe,GAAI,IAChD,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -2,8 +2,9 @@ import { type FragmentType } from "./graphql/index.js";
2
2
  import { OperationsFragment } from "./OperationList.js";
3
3
  declare const PARAM_GROUPS: readonly ["path", "query", "header", "cookie"];
4
4
  export type ParameterGroup = (typeof PARAM_GROUPS)[number];
5
- export declare const OperationListItem: ({ operationFragment, globalSelectedServer, }: {
5
+ export declare const OperationListItem: ({ operationFragment, globalSelectedServer, shouldLazyHighlight, }: {
6
6
  operationFragment: FragmentType<typeof OperationsFragment>;
7
7
  globalSelectedServer?: string;
8
+ shouldLazyHighlight?: boolean;
8
9
  }) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
3
2
  import { useState } from "react";
4
3
  import { Badge } from "zudoku/ui/Badge.js";
4
+ import { Separator } from "zudoku/ui/Separator.js";
5
5
  import { Heading } from "../../components/Heading.js";
6
6
  import { Markdown } from "../../components/Markdown.js";
7
+ import { PagefindSearchMeta } from "../../components/PagefindSearchMeta.js";
7
8
  import { cn } from "../../util/cn.js";
8
9
  import { groupBy } from "../../util/groupBy.js";
9
10
  import { renderIf } from "../../util/renderIf.js";
@@ -18,7 +19,7 @@ import { Sidecar } from "./Sidecar.js";
18
19
  import { SchemaView } from "./schema/SchemaView.js";
19
20
  import { methodForColor } from "./util/methodToColor.js";
20
21
  const PARAM_GROUPS = ["path", "query", "header", "cookie"];
21
- export const OperationListItem = ({ operationFragment, globalSelectedServer, }) => {
22
+ export const OperationListItem = ({ operationFragment, globalSelectedServer, shouldLazyHighlight, }) => {
22
23
  const operation = useFragment(OperationsFragment, operationFragment);
23
24
  const groupedParameters = groupBy(operation.parameters ?? [], (param) => param.in);
24
25
  const { options } = useOasConfig();
@@ -30,6 +31,6 @@ export const OperationListItem = ({ operationFragment, globalSelectedServer, })
30
31
  const isMCPEndpoint = operation.extensions?.["x-mcp-server"] !== undefined;
31
32
  return (_jsxs("div", { children: [operation.deprecated && (_jsx(Badge, { variant: "muted", className: "text-xs mb-4", children: "deprecated" })), _jsxs("div", { className: cn("grid grid-cols-1 lg:grid-cols-[minmax(0,4fr)_minmax(0,3fr)] gap-x-8 gap-y-4 items-start", operation.deprecated && "opacity-50 transition hover:opacity-100"), children: [_jsx(Heading, { level: 2, id: operation.slug, registerNavigationAnchor: true, className: "break-all col-span-full", children: operation.summary }), !isMCPEndpoint && (_jsxs("div", { className: "text-sm flex gap-2 font-mono col-span-full", children: [_jsx("span", { className: methodForColor(operation.method), children: operation.method.toUpperCase() }), _jsxs(SelectOnClick, { className: "max-w-full truncate flex cursor-pointer", children: [displayServerUrl && (_jsx("div", { className: "text-neutral-400 dark:text-neutral-500 truncate", children: displayServerUrl.replace(/\/$/, "") })), _jsx("div", { className: "text-neutral-900 dark:text-neutral-200", children: operation.path })] })] })), isMCPEndpoint ? (_jsx("div", { className: "col-span-full", children: _jsx(MCPEndpoint, { serverUrl: displayServerUrl, summary: operation.summary ?? undefined, data: operation.extensions?.["x-mcp-server"] }) })) : (_jsxs("div", { className: cn("flex flex-col gap-4", options?.disableSidecar && "col-span-full"), children: [operation.description && (_jsx(Markdown, { className: "max-w-full prose-img:max-w-prose", content: operation.description })), operation.parameters &&
32
33
  operation.parameters.length > 0 &&
33
- PARAM_GROUPS.flatMap((group) => groupedParameters[group]?.length ? (_jsx(ParameterList, { summary: operation.summary ?? undefined, id: operation.slug, parameters: groupedParameters[group], group: group }, group)) : ([])), renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (_jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [_jsxs(Heading, { level: 3, className: "capitalize flex items-center gap-2", id: `${operation.slug}/request-body`, children: [operation.summary && (_jsxs(VisuallyHidden, { children: [operation.summary, " \u203A", " "] })), "Request Body", " ", operation.requestBody?.required === false ? (_jsx(Badge, { variant: "muted", children: "optional" })) : ("")] }), _jsx(SchemaView, { schema: schema })] }))), operation.responses.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Heading, { level: 3, className: "capitalize mt-8 pt-8 border-t", id: `${operation.slug}/responses`, children: [operation.summary && (_jsxs(VisuallyHidden, { children: [operation.summary, " \u203A", " "] })), "Responses"] }), _jsx(ResponseContent, { responses: operation.responses, selectedResponse: selectedResponse, onSelectResponse: setSelectedResponse })] }))] })), renderIf(!options?.disableSidecar && !isMCPEndpoint, () => (_jsx(Sidecar, { selectedResponse: selectedResponse, onSelectResponse: setSelectedResponse, operation: operation, globalSelectedServer: globalSelectedServer })))] }, operation.operationId)] }));
34
+ PARAM_GROUPS.flatMap((group) => groupedParameters[group]?.length ? (_jsx(ParameterList, { summary: operation.summary ?? undefined, id: operation.slug, parameters: groupedParameters[group], group: group }, group)) : ([])), renderIf(operation.requestBody?.content?.at(0)?.schema, () => (_jsx(Separator, { className: "my-4" }))), renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs(Heading, { level: 3, className: "capitalize flex items-center gap-2", id: `${operation.slug}/request-body`, children: [operation.summary && (_jsxs(PagefindSearchMeta, { children: [operation.summary, " \u203A", " "] })), "Request Body", " ", operation.requestBody?.required === false ? (_jsx(Badge, { variant: "muted", children: "optional" })) : ("")] }), _jsx(SchemaView, { schema: schema })] }))), _jsx(Separator, { className: "my-4" }), operation.responses.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Heading, { level: 3, id: `${operation.slug}/responses`, children: [operation.summary && (_jsxs(PagefindSearchMeta, { children: [operation.summary, " \u203A", " "] })), "Responses"] }), _jsx(ResponseContent, { responses: operation.responses, selectedResponse: selectedResponse, onSelectResponse: setSelectedResponse })] }))] })), renderIf(!options?.disableSidecar && !isMCPEndpoint, () => (_jsx(Sidecar, { selectedResponse: selectedResponse, operation: operation, globalSelectedServer: globalSelectedServer, shouldLazyHighlight: shouldLazyHighlight })))] }, operation.operationId)] }));
34
35
  };
35
36
  //# sourceMappingURL=OperationListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OperationListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationListItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAqB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GAKpB,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,OAAO,CAC/B,SAAS,CAAC,UAAU,IAAI,EAAE,EAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CACpB,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;IAEnC,sEAAsE;IACtE,uHAAuH;IACvH,MAAM,gBAAgB,GAAG,oBAAoB,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAE9E,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC;IAE3E,OAAO,CACL,0BACG,SAAS,CAAC,UAAU,IAAI,CACvB,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,cAAc,2BAEvC,CACT,EACD,eAEE,SAAS,EAAE,EAAE,CACX,yFAAyF,EACzF,SAAS,CAAC,UAAU,IAAI,yCAAyC,CAClE,aAED,KAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,SAAS,CAAC,IAAI,EAClB,wBAAwB,QACxB,SAAS,EAAC,yBAAyB,YAElC,SAAS,CAAC,OAAO,GACV,EACT,CAAC,aAAa,IAAI,CACjB,eAAK,SAAS,EAAC,4CAA4C,aACzD,eAAM,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,YAC9C,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAC1B,EACP,MAAC,aAAa,IAAC,SAAS,EAAC,yCAAyC,aAC/D,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,iDAAiD,YAC7D,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAChC,CACP,EACD,cAAK,SAAS,EAAC,wCAAwC,YACpD,SAAS,CAAC,IAAI,GACX,IACQ,IACZ,CACP,EAEA,aAAa,CAAC,CAAC,CAAC,CACf,cAAK,SAAS,EAAC,eAAe,YAC5B,KAAC,WAAW,IACV,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,EACvC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,GAC5C,GACE,CACP,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,OAAO,EAAE,cAAc,IAAI,eAAe,CAC3C,aAEA,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,SAAS,CAAC,WAAW,GAC9B,CACH,EACA,SAAS,CAAC,UAAU;gCACnB,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gCAC/B,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CACjC,KAAC,aAAa,IAEZ,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,EACvC,EAAE,EAAE,SAAS,CAAC,IAAI,EAClB,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,KAAK,IAJP,KAAK,CAKV,CACH,CAAC,CAAC,CAAC,CACF,EAAE,CACH,CACF,EACF,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAC7D,KAAC,SAAS,IAAC,SAAS,EAAC,MAAM,GAAG,CAC/B,CAAC,EACD,QAAQ,CACP,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAC7C,CAAC,MAAM,EAAE,EAAE,CAAC,CACV,eAAK,SAAS,EAAC,qBAAqB,aAClC,MAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,SAAS,EAAC,oCAAoC,EAC9C,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,eAAe,aAEnC,SAAS,CAAC,OAAO,IAAI,CACpB,MAAC,kBAAkB,eAChB,SAAS,CAAC,OAAO,aAAW,GAAG,IACb,CACtB,kBACY,GAAG,EACf,SAAS,CAAC,WAAW,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAC3C,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,yBAAiB,CACxC,CAAC,CAAC,CAAC,CACF,EAAE,CACH,IACO,EACV,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,CACP,CACF,EACD,KAAC,SAAS,IAAC,SAAS,EAAC,MAAM,GAAG,EAC7B,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACjC,8BACE,MAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,YAAY,aACjD,SAAS,CAAC,OAAO,IAAI,CACpB,MAAC,kBAAkB,eAChB,SAAS,CAAC,OAAO,aAAW,GAAG,IACb,CACtB,iBAEO,EACV,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,mBAAmB,GACrC,IACD,CACJ,IACG,CACP,EAEA,QAAQ,CAAC,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAC1D,KAAC,OAAO,IACN,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,GACxC,CACH,CAAC,KA5HG,SAAS,CAAC,WAAW,CA6HtB,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
3
+ import { Fragment } from "react";
3
4
  import { Heading } from "../../components/Heading.js";
4
- import { Card } from "../../ui/Card.js";
5
+ import { Frame, FramePanel } from "../../ui/Frame.js";
6
+ import { ItemGroup, ItemSeparator } from "../../ui/Item.js";
5
7
  import { ParameterListItem } from "./ParameterListItem.js";
6
- export const ParameterList = ({ summary, group, parameters, id, }) => (_jsxs(_Fragment, { children: [_jsxs(Heading, { level: 3, id: `${id}/${group}-parameters`, className: "capitalize", children: [summary && _jsxs(VisuallyHidden, { children: [summary, " \u203A "] }), group === "header" ? "Headers" : `${group} Parameters`] }), _jsx(Card, { children: _jsx("ul", { className: "list-none m-0 px-0 divide-y ", children: parameters
7
- .sort((a, b) => (a.required === b.required ? 0 : a.required ? -1 : 1))
8
- .map((parameter) => (_jsx(ParameterListItem, { parameter: parameter, id: id, group: group }, `${parameter.name}-${parameter.in}`))) }) })] }));
8
+ export const ParameterList = ({ summary, group, parameters, id, }) => {
9
+ const sortedParameters = parameters.sort((a, b) => a.required === b.required ? 0 : a.required ? -1 : 1);
10
+ return (_jsxs(_Fragment, { children: [_jsxs(Heading, { level: 3, id: `${id}/${group}-parameters`, className: "capitalize", children: [summary && _jsxs(VisuallyHidden, { children: [summary, " \u203A "] }), group === "header" ? "Headers" : `${group} Parameters`] }), _jsx(Frame, { children: _jsx(FramePanel, { className: "p-0!", children: _jsx(ItemGroup, { className: "overflow-clip", children: sortedParameters.map((parameter, index) => (_jsxs(Fragment, { children: [index > 0 && _jsx(ItemSeparator, {}), _jsx(ParameterListItem, { parameter: parameter, id: id, group: group })] }, `${parameter.name}-${parameter.in}`))) }) }) })] }));
11
+ };
9
12
  //# sourceMappingURL=ParameterList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,UAAU,EACV,EAAE,GAMH,EAAE,EAAE,CAAC,CACJ,8BACE,MAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,aAAa,EAAE,SAAS,EAAC,YAAY,aACvE,OAAO,IAAI,MAAC,cAAc,eAAE,OAAO,gBAA4B,EAC/D,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,IAC/C,EACV,KAAC,IAAI,cACH,aAAI,SAAS,EAAC,8BAA8B,YACzC,UAAU;qBACR,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACrE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAClB,KAAC,iBAAiB,IAEhB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,IAHP,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,EAAE,CAIxC,CACH,CAAC,GACD,GACA,IACN,CACJ,CAAC"}
1
+ {"version":3,"file":"ParameterList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,UAAU,EACV,EAAE,GAMH,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;IAEF,OAAO,CACL,8BACE,MAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,aAAa,EAC/B,SAAS,EAAC,YAAY,aAErB,OAAO,IAAI,MAAC,cAAc,eAAE,OAAO,gBAA4B,EAC/D,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,IAC/C,EACV,KAAC,KAAK,cACJ,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,YAC1B,KAAC,SAAS,IAAC,SAAS,EAAC,eAAe,YACjC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1C,MAAC,QAAQ,eACN,KAAK,GAAG,CAAC,IAAI,KAAC,aAAa,KAAG,EAC/B,KAAC,iBAAiB,IAChB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,GACZ,KANW,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,EAAE,CAOvC,CACZ,CAAC,GACQ,GACD,GACP,IACP,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -4,9 +4,10 @@ import { MinusIcon, PlusIcon } from "lucide-react";
4
4
  import { useState } from "react";
5
5
  import { Markdown } from "../../components/Markdown.js";
6
6
  import { Button } from "../../ui/Button.js";
7
+ import { Item, ItemActions, ItemContent, ItemTitle } from "../../ui/Item.js";
8
+ import { cn } from "../../util/cn.js";
7
9
  import { ColorizedParam } from "./ColorizedParam.js";
8
10
  import { EnumValues } from "./components/EnumValues.js";
9
- import { SelectOnClick } from "./components/SelectOnClick.js";
10
11
  import { ParamInfos } from "./ParamInfos.js";
11
12
  import { SchemaExampleAndDefault } from "./schema/SchemaExampleAndDefault.js";
12
13
  import { SchemaView } from "./schema/SchemaView.js";
@@ -22,10 +23,20 @@ const getParameterSchema = (parameter) => {
22
23
  export const ParameterListItem = ({ parameter, group, id, }) => {
23
24
  const paramSchema = getParameterSchema(parameter);
24
25
  const [isOpen, setIsOpen] = useState(false);
25
- return (_jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SelectOnClick, { asChild: true, children: _jsx("code", { children: group === "path" ? (_jsx(ColorizedParam, { name: parameter.name, backgroundOpacity: "15%", className: "px-2", slug: `${id}-${parameter.name}` })) : (parameter.name) }) }), _jsx(ParamInfos, { schema: paramSchema, extraItems: [
26
- parameter.required && (_jsx("span", { className: "text-primary", children: "required" })),
27
- parameter.style && `style: ${parameter.style}`,
28
- parameter.explode && `explode: ${parameter.explode}`,
29
- ] })] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "text-sm prose prose-p:my-1 prose-code:whitespace-pre-line" })), paramSchema.description && (_jsx(Markdown, { content: paramSchema.description, className: "text-sm prose-p:my-1 prose-code:whitespace-pre-line" })), paramSchema.type === "array" && paramSchema.items.enum ? (_jsx(EnumValues, { values: paramSchema.items.enum })) : (paramSchema.enum && _jsx(EnumValues, { values: paramSchema.enum })), _jsx(SchemaExampleAndDefault, { schema: paramSchema }), (paramSchema.type === "object" || isArrayType(paramSchema)) && (_jsxs(Collapsible.Root, { defaultOpen: false, onOpenChange: setIsOpen, open: isOpen, children: [_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "expand", size: "sm", children: [isOpen ? _jsx(MinusIcon, { size: 12 }) : _jsx(PlusIcon, { size: 12 }), isOpen ? "Hide properties" : "Show properties"] }) }), _jsx(Collapsible.Content, { children: _jsx("div", { className: "mt-2", children: _jsx(SchemaView, { schema: "items" in paramSchema ? paramSchema.items : paramSchema }) }) })] }))] }));
26
+ const isCollapsible = paramSchema.type === "object" ||
27
+ (isArrayType(paramSchema) &&
28
+ "items" in paramSchema &&
29
+ paramSchema.items?.type === "object");
30
+ const shouldRenderDescription = Boolean(parameter.description ||
31
+ paramSchema.description ||
32
+ (paramSchema.type === "array" && paramSchema.items?.enum) ||
33
+ paramSchema.enum ||
34
+ paramSchema.example !== undefined ||
35
+ paramSchema.default !== undefined);
36
+ return (_jsxs(Item, { children: [_jsxs(ItemContent, { className: "gap-y-2", children: [_jsxs("div", { children: [_jsx(ItemTitle, { className: "inline me-2", children: isCollapsible ? (_jsx("button", { onClick: () => setIsOpen(!isOpen), type: "button", className: "hover:underline", children: _jsx("code", { children: group === "path" ? (_jsx(ColorizedParam, { name: parameter.name, backgroundOpacity: "15%", className: "px-2", slug: `${id}-${parameter.name}` })) : (parameter.name) }) })) : (_jsx("code", { children: group === "path" ? (_jsx(ColorizedParam, { name: parameter.name, backgroundOpacity: "15%", className: "px-2", slug: `${id}-${parameter.name}` })) : (parameter.name) })) }), _jsx(ParamInfos, { className: "inline", schema: paramSchema, extraItems: [
37
+ parameter.required && (_jsx("span", { className: "text-primary", children: "required" })),
38
+ parameter.style && `style: ${parameter.style}`,
39
+ parameter.explode && `explode: ${parameter.explode}`,
40
+ ] })] }), shouldRenderDescription && (_jsxs("div", { className: "flex flex-col gap-1.5", children: [parameter.description && (_jsx(Markdown, { content: parameter.description, className: "prose-sm" })), paramSchema.description && (_jsx(Markdown, { content: paramSchema.description, className: "prose-sm" })), paramSchema.type === "array" && paramSchema.items?.enum ? (_jsx(EnumValues, { values: paramSchema.items.enum })) : (paramSchema.enum && _jsx(EnumValues, { values: paramSchema.enum })), _jsx(SchemaExampleAndDefault, { schema: paramSchema })] }))] }), isCollapsible && (_jsx(ItemActions, { className: "self-start", children: _jsx(Button, { variant: "ghost", size: "icon", className: "rounded-full", onClick: () => setIsOpen(!isOpen), "aria-label": "Toggle parameter", children: isOpen ? _jsx(MinusIcon, { size: 16 }) : _jsx(PlusIcon, { size: 16 }) }) })), isCollapsible && (_jsx(Collapsible.Root, { defaultOpen: false, open: isOpen, onOpenChange: setIsOpen, className: cn("w-full", !isOpen && "contents"), children: _jsx(Collapsible.Content, { asChild: true, children: _jsx(ItemContent, { children: _jsx(SchemaView, { schema: "items" in paramSchema ? paramSchema.items : paramSchema }) }) }) }))] }));
30
41
  };
31
42
  //# sourceMappingURL=ParameterListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,CAAC,SAAwB,EAAgB,EAAE;IACpE,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,SAAS,EACT,KAAK,EACL,EAAE,GAKH,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,CACL,cAAI,SAAS,EAAC,gDAAgD,aAC5D,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,aAAa,IAAC,OAAO,kBACpB,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,GACO,EAChB,KAAC,UAAU,IACT,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE;4BACV,SAAS,CAAC,QAAQ,IAAI,CACpB,eAAM,SAAS,EAAC,cAAc,yBAAgB,CAC/C;4BACD,SAAS,CAAC,KAAK,IAAI,UAAU,SAAS,CAAC,KAAK,EAAE;4BAC9C,SAAS,CAAC,OAAO,IAAI,YAAY,SAAS,CAAC,OAAO,EAAE;yBACrD,GACD,IACE,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,OAAO,EAAE,SAAS,CAAC,WAAW,EAC9B,SAAS,EAAC,2DAA2D,GACrE,CACH,EACA,WAAW,CAAC,WAAW,IAAI,CAC1B,KAAC,QAAQ,IACP,OAAO,EAAE,WAAW,CAAC,WAAW,EAChC,SAAS,EAAC,qDAAqD,GAC/D,CACH,EACA,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,GAAI,CAC/C,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,IAAI,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,IAAI,GAAI,CAC7D,EACD,KAAC,uBAAuB,IAAC,MAAM,EAAE,WAAW,GAAI,EAC/C,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9D,MAAC,WAAW,CAAC,IAAI,IACf,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE,SAAS,EACvB,IAAI,EAAE,MAAM,aAEZ,KAAC,WAAW,CAAC,OAAO,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,aAC/B,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EACzD,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,IACxC,GACW,EACtB,KAAC,WAAW,CAAC,OAAO,cAClB,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IACT,MAAM,EACJ,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAE1D,GACE,GACc,IACL,CACpB,IACE,CACN,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ParameterListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,CAAC,SAAwB,EAAgB,EAAE;IACpE,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,SAAS,EACT,KAAK,EACL,EAAE,GAKH,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,aAAa,GACjB,WAAW,CAAC,IAAI,KAAK,QAAQ;QAC7B,CAAC,WAAW,CAAC,WAAW,CAAC;YACvB,OAAO,IAAI,WAAW;YACtB,WAAW,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;IAE1C,MAAM,uBAAuB,GAAG,OAAO,CACrC,SAAS,CAAC,WAAW;QACnB,WAAW,CAAC,WAAW;QACvB,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;QACzD,WAAW,CAAC,IAAI;QAChB,WAAW,CAAC,OAAO,KAAK,SAAS;QACjC,WAAW,CAAC,OAAO,KAAK,SAAS,CACpC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,eACH,MAAC,WAAW,IAAC,SAAS,EAAC,SAAS,aAC9B,0BACE,KAAC,SAAS,IAAC,SAAS,EAAC,aAAa,YAC/B,aAAa,CAAC,CAAC,CAAC,CACf,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iBAAiB,YAE3B,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,GACA,CACV,CAAC,CAAC,CAAC,CACF,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,CACR,GACS,EACZ,KAAC,UAAU,IACT,SAAS,EAAC,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE;oCACV,SAAS,CAAC,QAAQ,IAAI,CACpB,eAAM,SAAS,EAAC,cAAc,yBAAgB,CAC/C;oCACD,SAAS,CAAC,KAAK,IAAI,UAAU,SAAS,CAAC,KAAK,EAAE;oCAC9C,SAAS,CAAC,OAAO,IAAI,YAAY,SAAS,CAAC,OAAO,EAAE;iCACrD,GACD,IACE,EACL,uBAAuB,IAAI,CAC1B,eAAK,SAAS,EAAC,uBAAuB,aACnC,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IAAC,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,EAAC,UAAU,GAAG,CAClE,EACA,WAAW,CAAC,WAAW,IAAI,CAC1B,KAAC,QAAQ,IACP,OAAO,EAAE,WAAW,CAAC,WAAW,EAChC,SAAS,EAAC,UAAU,GACpB,CACH,EACA,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CACzD,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,GAAI,CAC/C,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,IAAI,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,IAAI,GAAI,CAC7D,EACD,KAAC,uBAAuB,IAAC,MAAM,EAAE,WAAW,GAAI,IAC5C,CACP,IACW,EAEb,aAAa,IAAI,CAChB,KAAC,WAAW,IAAC,SAAS,EAAC,YAAY,YACjC,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,cAAc,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,gBACtB,kBAAkB,YAE5B,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GACnD,GACG,CACf,EAEA,aAAa,IAAI,CAChB,KAAC,WAAW,CAAC,IAAI,IACf,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,UAAU,CAAC,YAE9C,KAAC,WAAW,CAAC,OAAO,IAAC,OAAO,kBAC1B,KAAC,WAAW,cACV,KAAC,UAAU,IACT,MAAM,EACJ,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAE1D,GACU,GACM,GACL,CACpB,IACI,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import type { MediaTypeObject } from "./graphql/graphql.js";
2
- export declare const RequestBodySidecarBox: ({ content, onExampleChange, }: {
2
+ export declare const RequestBodySidecarBox: ({ content, onExampleChange, isOnScreen, shouldLazyHighlight, selectedContentIndex, selectedExampleIndex, }: {
3
3
  content: MediaTypeObject[];
4
- onExampleChange?: (example: unknown) => void;
4
+ onExampleChange?: (selected: {
5
+ contentTypeIndex: number;
6
+ exampleIndex: number;
7
+ }) => void;
8
+ isOnScreen: boolean;
9
+ shouldLazyHighlight?: boolean;
10
+ selectedContentIndex: number;
11
+ selectedExampleIndex: number;
5
12
  }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,9 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronsDownUpIcon, ChevronsUpDownIcon } from "lucide-react";
3
+ import { Button } from "zudoku/components";
4
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "zudoku/ui/Collapsible.js";
2
5
  import * as SidecarBox from "./SidecarBox.js";
3
6
  import { SidecarExamples } from "./SidecarExamples.js";
4
- export const RequestBodySidecarBox = ({ content, onExampleChange, }) => {
7
+ export const RequestBodySidecarBox = ({ content, onExampleChange, isOnScreen, shouldLazyHighlight, selectedContentIndex, selectedExampleIndex, }) => {
5
8
  if (content.length === 0)
6
9
  return null;
7
- return (_jsxs(SidecarBox.Root, { children: [_jsx(SidecarBox.Head, { className: "text-xs flex justify-between items-center", children: _jsx("span", { className: "font-mono", children: "Request Body Example" }) }), _jsx(SidecarExamples, { content: content, onExampleChange: onExampleChange })] }));
10
+ return (_jsx(Collapsible, { className: "group/collapsible", defaultOpen: true, children: _jsxs(SidecarBox.Root, { children: [_jsx(SidecarBox.Head, { className: "text-xs flex justify-between items-center", children: _jsxs("span", { className: "flex items-center gap-1 font-medium", children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "size-fit px-1 py-1 -my-1", "aria-label": "Toggle request body examples", children: [_jsx(ChevronsDownUpIcon, { className: "size-[1em] group-data-[state=closed]/collapsible:hidden" }), _jsx(ChevronsUpDownIcon, { className: "size-[1em] group-data-[state=open]/collapsible:hidden" })] }) }), "Example Request Body"] }) }), _jsx(CollapsibleContent, { children: _jsx(SidecarExamples, { selectedContentIndex: selectedContentIndex, selectedExampleIndex: selectedExampleIndex, content: content, onExampleChange: onExampleChange, isOnScreen: isOnScreen, shouldLazyHighlight: shouldLazyHighlight }) })] }) }));
8
11
  };
9
12
  //# sourceMappingURL=RequestBodySidecarBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBodySidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/RequestBodySidecarBox.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,eAAe,GAIhB,EAAE,EAAE;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,OAAO,CACL,MAAC,UAAU,CAAC,IAAI,eACd,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACpE,eAAM,SAAS,EAAC,WAAW,qCAA4B,GACvC,EAClB,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,GAAI,IACvD,CACnB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"RequestBodySidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/RequestBodySidecarBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GAWrB,EAAE,EAAE;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,OAAO,CACL,KAAC,WAAW,IAAC,SAAS,EAAC,mBAAmB,EAAC,WAAW,kBACpD,MAAC,UAAU,CAAC,IAAI,eACd,KAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACpE,gBAAM,SAAS,EAAC,qCAAqC,aACnD,KAAC,kBAAkB,IAAC,OAAO,kBACzB,MAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,0BAA0B,gBACzB,8BAA8B,aAEzC,KAAC,kBAAkB,IAAC,SAAS,EAAC,yDAAyD,GAAG,EAC1F,KAAC,kBAAkB,IAAC,SAAS,EAAC,uDAAuD,GAAG,IACjF,GACU,4BAEhB,GACS,EAClB,KAAC,kBAAkB,cACjB,KAAC,eAAe,IACd,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,GACxC,GACiB,IACL,GACN,CACf,CAAC;AACJ,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { ResponseItem } from "./graphql/graphql.js";
2
- export declare const ResponsesSidecarBox: ({ responses, selectedResponse, onSelectResponse, }: {
2
+ export declare const ResponsesSidecarBox: ({ responses, selectedResponse, isOnScreen, shouldLazyHighlight, isGenerated, }: {
3
3
  responses: ResponseItem[];
4
4
  selectedResponse?: string;
5
- onSelectResponse: (response: string) => void;
5
+ isOnScreen: boolean;
6
+ shouldLazyHighlight?: boolean;
7
+ isGenerated?: boolean;
6
8
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as Tabs from "@radix-ui/react-tabs";
3
- import { cn } from "../../util/cn.js";
2
+ import { ChevronsDownUpIcon, ChevronsUpDownIcon, InfoIcon } from "lucide-react";
3
+ import { useEffect, useState } from "react";
4
+ import { Button } from "zudoku/components";
5
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "zudoku/ui/Collapsible.js";
6
+ import { NativeSelect, NativeSelectOption } from "zudoku/ui/NativeSelect.js";
7
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "zudoku/ui/Tooltip.js";
4
8
  import * as SidecarBox from "./SidecarBox.js";
5
9
  import { SidecarExamples } from "./SidecarExamples.js";
6
- export const ResponsesSidecarBox = ({ responses, selectedResponse, onSelectResponse, }) => {
7
- return (_jsx(SidecarBox.Root, { children: _jsxs(Tabs.Root, { defaultValue: responses[0]?.statusCode, value: selectedResponse, onValueChange: (value) => onSelectResponse(value), children: [_jsxs(SidecarBox.Head, { className: "text-xs flex flex-col gap-2 pb-0", children: [_jsx("span", { className: "font-mono", children: "Example Responses" }), _jsx(Tabs.List, { className: "flex gap-2", children: responses.map((response) => (_jsx(Tabs.Trigger, { value: response.statusCode, className: cn("text-xs font-mono px-1.5 py-1 pb-px translate-y-px border-b-2 border-transparent rounded-t cursor-pointer", "data-[state=active]:text-primary data-[state=active]:dark:text-inherit data-[state=active]:border-primary", "hover:border-accent-foreground/25"), children: response.statusCode }, response.statusCode))) })] }), responses.map((response) => (_jsx(Tabs.Content, { value: response.statusCode, children: _jsx(SidecarExamples, { content: response.content ?? [] }) }, response.statusCode)))] }) }));
10
+ export const ResponsesSidecarBox = ({ responses, selectedResponse, isOnScreen, shouldLazyHighlight, isGenerated, }) => {
11
+ const [internalSelectedResponse, setInternalSelectedResponse] = useState(selectedResponse ?? responses[0]?.statusCode);
12
+ const [selectedContentIndex, setSelectedContentIndex] = useState(0);
13
+ const [selectedExampleIndex, setSelectedExampleIndex] = useState(0);
14
+ useEffect(() => {
15
+ if (!selectedResponse)
16
+ return;
17
+ setInternalSelectedResponse(selectedResponse);
18
+ }, [selectedResponse]);
19
+ useEffect(() => {
20
+ if (!internalSelectedResponse)
21
+ return;
22
+ setSelectedContentIndex(0);
23
+ setSelectedExampleIndex(0);
24
+ }, [internalSelectedResponse]);
25
+ return (_jsx(Collapsible, { className: "group/collapsible", defaultOpen: true, children: _jsxs(SidecarBox.Root, { children: [_jsxs(SidecarBox.Head, { className: "text-xs flex justify-between items-center", children: [_jsxs("div", { className: "flex items-center gap-1 font-medium shrink-0", children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "size-fit px-1 py-1 -my-1", "aria-label": "Toggle response examples", children: [_jsx(ChevronsDownUpIcon, { className: "size-[1em] group-data-[state=closed]/collapsible:hidden" }), _jsx(ChevronsUpDownIcon, { className: "size-[1em] group-data-[state=open]/collapsible:hidden" })] }) }), "Example Responses", isGenerated && (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(InfoIcon, { size: 13 }) }), _jsx(TooltipContent, { children: "This example is auto-generated from the schema." })] }) }))] }), _jsx("div", { className: "group-data-[state=closed]/collapsible:invisible", children: _jsx(NativeSelect, { className: "text-xs h-fit py-1 -my-1 bg-background", value: internalSelectedResponse, onChange: (e) => setInternalSelectedResponse(e.target.value), children: responses.map((response) => (_jsx(NativeSelectOption, { value: response.statusCode, children: response.statusCode }, response.statusCode))) }) })] }), _jsx(CollapsibleContent, { children: _jsx(SidecarExamples, { selectedContentIndex: selectedContentIndex, selectedExampleIndex: selectedExampleIndex, onExampleChange: (selected) => {
26
+ setSelectedContentIndex(selected.contentTypeIndex);
27
+ setSelectedExampleIndex(selected.exampleIndex);
28
+ }, content: responses.find((r) => r.statusCode === internalSelectedResponse)
29
+ ?.content ?? [], isOnScreen: isOnScreen, shouldLazyHighlight: shouldLazyHighlight }) })] }) }));
8
30
  };
9
31
  //# sourceMappingURL=ResponsesSidecarBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsesSidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ResponsesSidecarBox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GAKjB,EAAE,EAAE;IACH,OAAO,CACL,KAAC,UAAU,CAAC,IAAI,cACd,MAAC,IAAI,CAAC,IAAI,IACR,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EACtC,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAEjD,MAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAC,kCAAkC,aAC3D,eAAM,SAAS,EAAC,WAAW,kCAAyB,EACpD,KAAC,IAAI,CAAC,IAAI,IAAC,SAAS,EAAC,YAAY,YAC9B,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC3B,KAAC,IAAI,CAAC,OAAO,IAEX,KAAK,EAAE,QAAQ,CAAC,UAAU,EAC1B,SAAS,EAAE,EAAE,CACX,2GAA2G,EAC3G,2GAA2G,EAC3G,mCAAmC,CACpC,YAEA,QAAQ,CAAC,UAAU,IARf,QAAQ,CAAC,UAAU,CASX,CAChB,CAAC,GACQ,IACI,EACjB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC3B,KAAC,IAAI,CAAC,OAAO,IAA2B,KAAK,EAAE,QAAQ,CAAC,UAAU,YAChE,KAAC,eAAe,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,GAAI,IADnC,QAAQ,CAAC,UAAU,CAEvB,CAChB,CAAC,IACQ,GACI,CACnB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ResponsesSidecarBox.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ResponsesSidecarBox.tsx"],"names":[],"mappings":"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"}