zudoku 0.61.5 → 0.63.0

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 (403) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/cli.d.ts +9 -0
  3. package/dist/cli/cli.js +4 -10
  4. package/dist/cli/cli.js.map +1 -1
  5. package/dist/cli/common/version-check.d.ts +2 -0
  6. package/dist/cli/common/version-check.js +58 -0
  7. package/dist/cli/common/version-check.js.map +1 -0
  8. package/dist/config/config.d.ts +3 -0
  9. package/dist/config/validators/InputNavigationSchema.d.ts +64 -4
  10. package/dist/config/validators/icon-types.d.ts +1 -1
  11. package/dist/config/validators/icon-types.js +15 -0
  12. package/dist/config/validators/icon-types.js.map +1 -1
  13. package/dist/config/validators/validate.d.ts +39 -9
  14. package/dist/config/validators/validate.js +23 -0
  15. package/dist/config/validators/validate.js.map +1 -1
  16. package/dist/flat-config.d.ts +22 -2
  17. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  18. package/dist/lib/assets/language-icons/c.js +4 -0
  19. package/dist/lib/assets/language-icons/c.js.map +1 -0
  20. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  21. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  22. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  23. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  24. package/dist/lib/assets/language-icons/cpp.js +4 -0
  25. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  26. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  27. package/dist/lib/assets/language-icons/dart.js +4 -0
  28. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  29. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  30. package/dist/lib/assets/language-icons/elixir.js +4 -0
  31. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  32. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  33. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  34. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  35. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  36. package/dist/lib/assets/language-icons/powershell.js +4 -0
  37. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  38. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  39. package/dist/lib/assets/language-icons/scala.js +4 -0
  40. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  41. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  42. package/dist/lib/assets/language-icons/zig.js +4 -0
  43. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  44. package/dist/lib/authentication/providers/auth0.js +7 -3
  45. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  46. package/dist/lib/components/BuildCheck.js +2 -2
  47. package/dist/lib/components/BuildCheck.js.map +1 -1
  48. package/dist/lib/components/Heading.js +1 -5
  49. package/dist/lib/components/Heading.js.map +1 -1
  50. package/dist/lib/components/LanguageIcon.js +45 -0
  51. package/dist/lib/components/LanguageIcon.js.map +1 -1
  52. package/dist/lib/components/Main.js +1 -1
  53. package/dist/lib/components/Main.js.map +1 -1
  54. package/dist/lib/components/cache.d.ts +3 -1
  55. package/dist/lib/components/cache.js +3 -5
  56. package/dist/lib/components/cache.js.map +1 -1
  57. package/dist/lib/components/context/ZudokuContext.js +10 -2
  58. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  59. package/dist/lib/components/index.d.ts +1 -2
  60. package/dist/lib/hooks/index.d.ts +1 -1
  61. package/dist/lib/oas/graphql/index.js +17 -0
  62. package/dist/lib/oas/graphql/index.js.map +1 -1
  63. package/dist/lib/plugins/markdown/MdxPage.js +26 -3
  64. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  65. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  66. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  67. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  68. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  69. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  70. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  71. package/dist/lib/plugins/markdown/index.d.ts +2 -1
  72. package/dist/lib/plugins/markdown/index.js.map +1 -1
  73. package/dist/lib/plugins/openapi/MCPEndpoint.js +9 -18
  74. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -1
  75. package/dist/lib/plugins/openapi/OperationList.js +8 -3
  76. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  77. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -2
  78. package/dist/lib/plugins/openapi/OperationListItem.js +6 -3
  79. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  80. package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -1
  81. package/dist/lib/plugins/openapi/Sidecar.js +6 -9
  82. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  83. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  84. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  85. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  86. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  87. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +8 -2
  88. package/dist/lib/plugins/openapi/graphql/graphql.js +8 -0
  89. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  90. package/dist/lib/plugins/openapi/index.js +1 -1
  91. package/dist/lib/plugins/openapi/index.js.map +1 -1
  92. package/dist/lib/plugins/openapi/interfaces.d.ts +1 -0
  93. package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
  94. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  95. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  96. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  97. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +15 -3
  98. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  99. package/dist/lib/shiki.js +9 -0
  100. package/dist/lib/shiki.js.map +1 -1
  101. package/dist/lib/ui/Carousel.js.map +1 -1
  102. package/dist/lib/ui/Dialog.d.ts +12 -18
  103. package/dist/lib/ui/Dialog.js +30 -17
  104. package/dist/lib/ui/Dialog.js.map +1 -1
  105. package/dist/lib/ui/Secret.d.ts +6 -0
  106. package/dist/lib/ui/Secret.js +7 -4
  107. package/dist/lib/ui/Secret.js.map +1 -1
  108. package/dist/lib/util/pastellize.js +4 -4
  109. package/dist/lib/util/pastellize.js.map +1 -1
  110. package/dist/vite/api/SchemaManager.js.map +1 -1
  111. package/dist/vite/llms.d.ts +12 -0
  112. package/dist/vite/llms.js +66 -0
  113. package/dist/vite/llms.js.map +1 -0
  114. package/dist/vite/plugin-api.js +1 -1
  115. package/dist/vite/plugin-api.js.map +1 -1
  116. package/dist/vite/plugin-docs.d.ts +9 -0
  117. package/dist/vite/plugin-docs.js +67 -48
  118. package/dist/vite/plugin-docs.js.map +1 -1
  119. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  120. package/dist/vite/plugin-markdown-export.js +139 -0
  121. package/dist/vite/plugin-markdown-export.js.map +1 -0
  122. package/dist/vite/plugin-mdx.d.ts +1 -1
  123. package/dist/vite/plugin-mdx.js +5 -1
  124. package/dist/vite/plugin-mdx.js.map +1 -1
  125. package/dist/vite/plugin-navigation.js +4 -0
  126. package/dist/vite/plugin-navigation.js.map +1 -1
  127. package/dist/vite/plugin.js +2 -0
  128. package/dist/vite/plugin.js.map +1 -1
  129. package/dist/vite/prerender/prerender.js +30 -0
  130. package/dist/vite/prerender/prerender.js.map +1 -1
  131. package/lib/{Button-DTDRi4CT.js → Button-DmS4u8Lj.js} +2 -2
  132. package/lib/{Button-DTDRi4CT.js.map → Button-DmS4u8Lj.js.map} +1 -1
  133. package/lib/{Card-hTy9PAnh.js → Card-KFniaZn5.js} +2 -2
  134. package/lib/{Card-hTy9PAnh.js.map → Card-KFniaZn5.js.map} +1 -1
  135. package/lib/{CategoryHeading-BGCNu3VK.js → CategoryHeading-DhmodDcq.js} +2 -2
  136. package/lib/{CategoryHeading-BGCNu3VK.js.map → CategoryHeading-DhmodDcq.js.map} +1 -1
  137. package/lib/CodeBlock-CanTUJLl.js +221 -0
  138. package/lib/CodeBlock-CanTUJLl.js.map +1 -0
  139. package/lib/{Command-TEBTONf1.js → Command-CUcrW3qs.js} +3 -3
  140. package/lib/{Command-TEBTONf1.js.map → Command-CUcrW3qs.js.map} +1 -1
  141. package/lib/Dialog-BQciPiHN.js +144 -0
  142. package/lib/Dialog-BQciPiHN.js.map +1 -0
  143. package/lib/{Drawer-DM9wJUC6.js → Drawer-Ci7XwhqT.js} +2 -2
  144. package/lib/Drawer-Ci7XwhqT.js.map +1 -0
  145. package/lib/DropdownMenu-BZ2NKQ3K.js +126 -0
  146. package/lib/DropdownMenu-BZ2NKQ3K.js.map +1 -0
  147. package/lib/{ErrorAlert-xpVkFS_n.js → ErrorAlert-VBJ8aHH7.js} +100 -103
  148. package/lib/ErrorAlert-VBJ8aHH7.js.map +1 -0
  149. package/lib/MdxPage-DFRNwSsc.js +239 -0
  150. package/lib/MdxPage-DFRNwSsc.js.map +1 -0
  151. package/lib/{OAuthErrorPage-DCjFngGS.js → OAuthErrorPage-DJUOdr6Q.js} +7 -7
  152. package/lib/{OAuthErrorPage-DCjFngGS.js.map → OAuthErrorPage-DJUOdr6Q.js.map} +1 -1
  153. package/lib/{OasProvider-DH82Y-KM.js → OasProvider-D2NYAaBN.js} +3 -3
  154. package/lib/{OasProvider-DH82Y-KM.js.map → OasProvider-D2NYAaBN.js.map} +1 -1
  155. package/lib/{OperationList-Dr87uHqG.js → OperationList-DmXCI4NU.js} +1848 -1853
  156. package/lib/OperationList-DmXCI4NU.js.map +1 -0
  157. package/lib/{Pagination-Cdi_qiXc.js → Pagination-CT4VUR6u.js} +3 -3
  158. package/lib/{Pagination-Cdi_qiXc.js.map → Pagination-CT4VUR6u.js.map} +1 -1
  159. package/lib/{RouteGuard-dji1UEYe.js → RouteGuard-Bg0Lu0OU.js} +5 -5
  160. package/lib/{RouteGuard-dji1UEYe.js.map → RouteGuard-Bg0Lu0OU.js.map} +1 -1
  161. package/lib/{RouterError-D1I15Qyy.js → RouterError-fm21cqlj.js} +4 -4
  162. package/lib/{RouterError-D1I15Qyy.js.map → RouterError-fm21cqlj.js.map} +1 -1
  163. package/lib/{SchemaList-07lprC0m.js → SchemaList-uElsscMN.js} +10 -10
  164. package/lib/{SchemaList-07lprC0m.js.map → SchemaList-uElsscMN.js.map} +1 -1
  165. package/lib/{SchemaView-m0NDK2i0.js → SchemaView-CNQ3VAbI.js} +5 -5
  166. package/lib/{SchemaView-m0NDK2i0.js.map → SchemaView-CNQ3VAbI.js.map} +1 -1
  167. package/lib/Select-CPoGZU_V.js +372 -0
  168. package/lib/Select-CPoGZU_V.js.map +1 -0
  169. package/lib/{SignUp-C-YP_Rxi.js → SignUp-BraHuRN_.js} +9 -9
  170. package/lib/{SignUp-C-YP_Rxi.js.map → SignUp-BraHuRN_.js.map} +1 -1
  171. package/lib/{Spinner-Cf6E803I.js → Spinner-CI6bRyZw.js} +2 -2
  172. package/lib/{Spinner-Cf6E803I.js.map → Spinner-CI6bRyZw.js.map} +1 -1
  173. package/lib/{SyntaxHighlight-CPF64UHi.js → SyntaxHighlight-B0laqAqK.js} +6 -6
  174. package/lib/{SyntaxHighlight-CPF64UHi.js.map → SyntaxHighlight-B0laqAqK.js.map} +1 -1
  175. package/lib/{Toc-Cf5UojVb.js → Toc-KzXCRqrX.js} +3 -3
  176. package/lib/{Toc-Cf5UojVb.js.map → Toc-KzXCRqrX.js.map} +1 -1
  177. package/lib/ZudokuContext-BXTZApgy.js +1506 -0
  178. package/lib/ZudokuContext-BXTZApgy.js.map +1 -0
  179. package/lib/c-B-NUhs61.js +46 -0
  180. package/lib/c-B-NUhs61.js.map +1 -0
  181. package/lib/chunk-PVWAREVJ-BO6B-RAk.js.map +1 -1
  182. package/lib/{circular-ga83n0Za.js → circular-BWT7_Ahq.js} +30 -30
  183. package/lib/{circular-ga83n0Za.js.map → circular-BWT7_Ahq.js.map} +1 -1
  184. package/lib/commonlisp-De080z23.js +28 -0
  185. package/lib/commonlisp-De080z23.js.map +1 -0
  186. package/lib/cpp-79Paht7T.js +53 -0
  187. package/lib/cpp-79Paht7T.js.map +1 -0
  188. package/lib/{createServer-DL1AYSpR.js → createServer-zhJZSgor.js} +3225 -3165
  189. package/lib/createServer-zhJZSgor.js.map +1 -0
  190. package/lib/{csharp-rrJEDRrV.js → csharp-D8MIL50B.js} +2 -2
  191. package/lib/{csharp-rrJEDRrV.js.map → csharp-D8MIL50B.js.map} +1 -1
  192. package/lib/{css-Dpk9bCql.js → css-Bt6hr1td.js} +2 -2
  193. package/lib/{css-Dpk9bCql.js.map → css-Bt6hr1td.js.map} +1 -1
  194. package/lib/dart-B0vy1jWB.js +60 -0
  195. package/lib/dart-B0vy1jWB.js.map +1 -0
  196. package/lib/elixir-Ds8r0sF8.js +25 -0
  197. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  198. package/lib/{errors-ouIp07AW.js → errors-XqO6MsfU.js} +3 -3
  199. package/lib/{errors-ouIp07AW.js.map → errors-XqO6MsfU.js.map} +1 -1
  200. package/lib/{go-D8SJIQ0Z.js → go-D2VsmIOS.js} +2 -2
  201. package/lib/{go-D8SJIQ0Z.js.map → go-D2VsmIOS.js.map} +1 -1
  202. package/lib/{graphql-aeVKJNa2.js → graphql-BtA6M4m5.js} +2 -2
  203. package/lib/{graphql-aeVKJNa2.js.map → graphql-BtA6M4m5.js.map} +1 -1
  204. package/lib/hook-CAebs2rv.js +31 -0
  205. package/lib/hook-CAebs2rv.js.map +1 -0
  206. package/lib/{html-D_7om-nA.js → html-MGnI2uzP.js} +2 -2
  207. package/lib/{html-D_7om-nA.js.map → html-MGnI2uzP.js.map} +1 -1
  208. package/lib/{index-CVfG8Pb4.js → index-BPSpOxTK.js} +26 -26
  209. package/lib/index-BPSpOxTK.js.map +1 -0
  210. package/lib/{index-DhL3LhWV.js → index-C5L4favO.js} +166 -50
  211. package/lib/index-C5L4favO.js.map +1 -0
  212. package/lib/index-CrcNWbel.js.map +1 -1
  213. package/lib/{index-DQ8kWcE8.js → index-D8Btv4uT.js} +723 -811
  214. package/lib/index-D8Btv4uT.js.map +1 -0
  215. package/lib/index.esm-BYObtETB.js +1294 -0
  216. package/lib/index.esm-BYObtETB.js.map +1 -0
  217. package/lib/index.esm-BnYHxCYC.js.map +1 -1
  218. package/lib/{java-DUh-EL8n.js → java-CVLzHfb1.js} +2 -2
  219. package/lib/{java-DUh-EL8n.js.map → java-CVLzHfb1.js.map} +1 -1
  220. package/lib/{javascript-CrY8dcGu.js → javascript-CcmIpL4G.js} +2 -2
  221. package/lib/{javascript-CrY8dcGu.js.map → javascript-CcmIpL4G.js.map} +1 -1
  222. package/lib/{json-DLK2_sdf.js → json-4AyP4uiY.js} +2 -2
  223. package/lib/{json-DLK2_sdf.js.map → json-4AyP4uiY.js.map} +1 -1
  224. package/lib/{jsx-runtime-DywqP_6a.js → jsx-runtime-BzflLqGi.js} +109 -111
  225. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  226. package/lib/{kotlin-rJMOGl7D.js → kotlin-v2plddBQ.js} +2 -2
  227. package/lib/{kotlin-rJMOGl7D.js.map → kotlin-v2plddBQ.js.map} +1 -1
  228. package/lib/{markdown-BD9bIU5J.js → markdown-DYGWCmGQ.js} +2 -2
  229. package/lib/{markdown-BD9bIU5J.js.map → markdown-DYGWCmGQ.js.map} +1 -1
  230. package/lib/{mdx-G25UCvf3.js → mdx-CHwYvXd4.js} +2 -2
  231. package/lib/{mdx-G25UCvf3.js.map → mdx-CHwYvXd4.js.map} +1 -1
  232. package/lib/{mutation-De-1gXxl.js → mutation-CdGPxHNX.js} +2 -2
  233. package/lib/{mutation-De-1gXxl.js.map → mutation-CdGPxHNX.js.map} +1 -1
  234. package/lib/{objectivec-DDpj0aWX.js → objectivec-HZY8shkd.js} +2 -2
  235. package/lib/{objectivec-DDpj0aWX.js.map → objectivec-HZY8shkd.js.map} +1 -1
  236. package/lib/ocaml-DqsdDdwb.js +52 -0
  237. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  238. package/lib/{php-BeG18bSy.js → php-rQXzo7K_.js} +2 -2
  239. package/lib/{php-BeG18bSy.js.map → php-rQXzo7K_.js.map} +1 -1
  240. package/lib/powershell-CQje9pm1.js +39 -0
  241. package/lib/powershell-CQje9pm1.js.map +1 -0
  242. package/lib/{python-BaF2byD-.js → python-QIQAE5Ei.js} +2 -2
  243. package/lib/{python-BaF2byD-.js.map → python-QIQAE5Ei.js.map} +1 -1
  244. package/lib/{react-CQvDN20M.js → react-DHpVpxRv.js} +2 -2
  245. package/lib/{react-CQvDN20M.js.map → react-DHpVpxRv.js.map} +1 -1
  246. package/lib/{ruby-CmxRVHMR.js → ruby-B2dU8Ny5.js} +2 -2
  247. package/lib/{ruby-CmxRVHMR.js.map → ruby-B2dU8Ny5.js.map} +1 -1
  248. package/lib/{rust-IfSC62c5.js → rust-DYnLHAi2.js} +2 -2
  249. package/lib/{rust-IfSC62c5.js.map → rust-DYnLHAi2.js.map} +1 -1
  250. package/lib/scala-CeKInBR8.js +25 -0
  251. package/lib/scala-CeKInBR8.js.map +1 -0
  252. package/lib/{shell-BFu0M6m4.js → shell-HUv9oVtp.js} +2 -2
  253. package/lib/{shell-BFu0M6m4.js.map → shell-HUv9oVtp.js.map} +1 -1
  254. package/lib/{swift-DckbsN4v.js → swift-B4z6ig1Z.js} +2 -2
  255. package/lib/{swift-DckbsN4v.js.map → swift-B4z6ig1Z.js.map} +1 -1
  256. package/lib/{toml-BJsCc8TC.js → toml-Co9mpdct.js} +2 -2
  257. package/lib/{toml-BJsCc8TC.js.map → toml-Co9mpdct.js.map} +1 -1
  258. package/lib/{typescript-7qOVMjOC.js → typescript-C26xdBDC.js} +2 -2
  259. package/lib/{typescript-7qOVMjOC.js.map → typescript-C26xdBDC.js.map} +1 -1
  260. package/lib/ui/Accordion.js +1 -1
  261. package/lib/ui/ActionButton.js +3 -3
  262. package/lib/ui/Alert.js +1 -1
  263. package/lib/ui/AlertDialog.js +1 -1
  264. package/lib/ui/Badge.js +1 -1
  265. package/lib/ui/Breadcrumb.js +1 -1
  266. package/lib/ui/Button.js +1 -1
  267. package/lib/ui/Callout.js +1 -1
  268. package/lib/ui/Card.js +1 -1
  269. package/lib/ui/Carousel.js +1 -1
  270. package/lib/ui/Carousel.js.map +1 -1
  271. package/lib/ui/Checkbox.js +1 -1
  272. package/lib/ui/CodeBlock.js +2 -2
  273. package/lib/ui/Command.js +2 -2
  274. package/lib/ui/Dialog.js +135 -105
  275. package/lib/ui/Dialog.js.map +1 -1
  276. package/lib/ui/Drawer.js +2 -2
  277. package/lib/ui/DropdownMenu.js +1 -1
  278. package/lib/ui/EmbeddedCodeBlock.js +1 -1
  279. package/lib/ui/Form.js +2 -2
  280. package/lib/ui/HoverCard.js +1 -1
  281. package/lib/ui/Input.js +1 -1
  282. package/lib/ui/Label.js +1 -1
  283. package/lib/ui/Pagination.js +1 -1
  284. package/lib/ui/Popover.js +1 -1
  285. package/lib/ui/Progress.js +1 -1
  286. package/lib/ui/RadioGroup.js +1 -1
  287. package/lib/ui/ReactComponentDoc.js +1 -1
  288. package/lib/ui/ScrollArea.js +1 -1
  289. package/lib/ui/Secret.js +64 -54
  290. package/lib/ui/Secret.js.map +1 -1
  291. package/lib/ui/Select.js +1 -1
  292. package/lib/ui/Skeleton.js +1 -1
  293. package/lib/ui/Slider.js +1 -1
  294. package/lib/ui/Stepper.js +1 -1
  295. package/lib/ui/Switch.js +1 -1
  296. package/lib/ui/SyntaxHighlight.js +4 -4
  297. package/lib/ui/Tabs.js +1 -1
  298. package/lib/ui/Textarea.js +1 -1
  299. package/lib/ui/Toggle.js +1 -1
  300. package/lib/ui/ToggleGroup.js +1 -1
  301. package/lib/ui/Tooltip.js +1 -1
  302. package/lib/ui/Value.js +1 -1
  303. package/lib/{useExposedProps-B8NHdNRq.js → useExposedProps-Cd7Yg_uG.js} +3 -3
  304. package/lib/useExposedProps-Cd7Yg_uG.js.map +1 -0
  305. package/lib/{xml-DAaTIkBX.js → xml-BQOOC04j.js} +2 -2
  306. package/lib/{xml-DAaTIkBX.js.map → xml-BQOOC04j.js.map} +1 -1
  307. package/lib/{yaml-DUi-dbfu.js → yaml-BGsJItKv.js} +2 -2
  308. package/lib/{yaml-DUi-dbfu.js.map → yaml-BGsJItKv.js.map} +1 -1
  309. package/lib/zig-CUV2sTct.js +35 -0
  310. package/lib/zig-CUV2sTct.js.map +1 -0
  311. package/lib/zudoku.__internal.js +1041 -938
  312. package/lib/zudoku.__internal.js.map +1 -1
  313. package/lib/zudoku.auth-auth0.js +22 -21
  314. package/lib/zudoku.auth-auth0.js.map +1 -1
  315. package/lib/zudoku.auth-azureb2c.js +14 -15
  316. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  317. package/lib/zudoku.auth-clerk.js +3 -3
  318. package/lib/zudoku.auth-openid.js +57 -58
  319. package/lib/zudoku.auth-openid.js.map +1 -1
  320. package/lib/zudoku.auth-supabase.js +2 -2
  321. package/lib/zudoku.components.js +6 -6
  322. package/lib/zudoku.hooks.js +6 -6
  323. package/lib/zudoku.hooks.js.map +1 -1
  324. package/lib/zudoku.icons.js +1 -1
  325. package/lib/zudoku.plugin-api-catalog.js +27 -28
  326. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  327. package/lib/zudoku.plugin-api-keys.js +215 -301
  328. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  329. package/lib/zudoku.plugin-custom-pages.js +1 -1
  330. package/lib/zudoku.plugin-markdown.js +2 -2
  331. package/lib/zudoku.plugin-markdown.js.map +1 -1
  332. package/lib/zudoku.plugin-openapi.js +4 -4
  333. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  334. package/lib/zudoku.plugin-search-pagefind.js +27 -28
  335. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  336. package/lib/zudoku.router.js +1 -1
  337. package/lib/zudoku.router.js.map +1 -1
  338. package/package.json +39 -39
  339. package/src/lib/assets/language-icons/c.tsx +31 -0
  340. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  341. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  342. package/src/lib/assets/language-icons/dart.tsx +39 -0
  343. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  344. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  345. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  346. package/src/lib/assets/language-icons/scala.tsx +19 -0
  347. package/src/lib/assets/language-icons/zig.tsx +32 -0
  348. package/src/lib/authentication/providers/auth0.tsx +7 -3
  349. package/src/lib/components/BuildCheck.tsx +12 -10
  350. package/src/lib/components/Heading.tsx +2 -6
  351. package/src/lib/components/LanguageIcon.tsx +45 -0
  352. package/src/lib/components/Main.tsx +1 -1
  353. package/src/lib/components/cache.ts +9 -5
  354. package/src/lib/components/context/ZudokuContext.ts +11 -2
  355. package/src/lib/oas/graphql/index.ts +19 -0
  356. package/src/lib/plugins/markdown/MdxPage.tsx +122 -8
  357. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  358. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  359. package/src/lib/plugins/markdown/index.tsx +3 -7
  360. package/src/lib/plugins/openapi/MCPEndpoint.tsx +8 -28
  361. package/src/lib/plugins/openapi/OperationList.tsx +14 -3
  362. package/src/lib/plugins/openapi/OperationListItem.tsx +10 -5
  363. package/src/lib/plugins/openapi/Sidecar.tsx +8 -8
  364. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +1 -0
  365. package/src/lib/plugins/openapi/graphql/gql.ts +4 -3
  366. package/src/lib/plugins/openapi/graphql/graphql.ts +20 -3
  367. package/src/lib/plugins/openapi/index.tsx +1 -1
  368. package/src/lib/plugins/openapi/interfaces.ts +1 -0
  369. package/src/lib/plugins/openapi/playground/Playground.tsx +1 -1
  370. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
  371. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +31 -3
  372. package/src/lib/shiki.ts +9 -0
  373. package/src/lib/ui/Carousel.tsx +0 -1
  374. package/src/lib/ui/Dialog.tsx +112 -106
  375. package/src/lib/ui/Secret.tsx +44 -27
  376. package/src/lib/util/pastellize.ts +4 -4
  377. package/src/shiki/langs/hurl.js +1 -0
  378. package/src/shiki/langs/kdl.js +1 -0
  379. package/src/shiki/langs/pkl.js +1 -0
  380. package/src/shiki/langs/rosmsg.js +1 -0
  381. package/lib/CodeBlock-i0BM_QFf.js +0 -176
  382. package/lib/CodeBlock-i0BM_QFf.js.map +0 -1
  383. package/lib/Dialog-VIMic7xI.js +0 -114
  384. package/lib/Dialog-VIMic7xI.js.map +0 -1
  385. package/lib/Drawer-DM9wJUC6.js.map +0 -1
  386. package/lib/ErrorAlert-xpVkFS_n.js.map +0 -1
  387. package/lib/MdxPage-Ud1w_GV-.js +0 -111
  388. package/lib/MdxPage-Ud1w_GV-.js.map +0 -1
  389. package/lib/OperationList-Dr87uHqG.js.map +0 -1
  390. package/lib/Select-BiBMWiLv.js +0 -273
  391. package/lib/Select-BiBMWiLv.js.map +0 -1
  392. package/lib/ZudokuContext-BcqSiygJ.js +0 -1294
  393. package/lib/ZudokuContext-BcqSiygJ.js.map +0 -1
  394. package/lib/createServer-DL1AYSpR.js.map +0 -1
  395. package/lib/hook-BkLXq8pm.js +0 -243
  396. package/lib/hook-BkLXq8pm.js.map +0 -1
  397. package/lib/index-CVfG8Pb4.js.map +0 -1
  398. package/lib/index-DQ8kWcE8.js.map +0 -1
  399. package/lib/index-DhL3LhWV.js.map +0 -1
  400. package/lib/index.esm-DpgNxKa2.js +0 -1267
  401. package/lib/index.esm-DpgNxKa2.js.map +0 -1
  402. package/lib/jsx-runtime-DywqP_6a.js.map +0 -1
  403. package/lib/useExposedProps-B8NHdNRq.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zudoku",
3
- "version": "0.61.5",
3
+ "version": "0.63.0",
4
4
  "type": "module",
5
5
  "homepage": "https://zudoku.dev",
6
6
  "repository": {
@@ -141,12 +141,12 @@
141
141
  },
142
142
  "dependencies": {
143
143
  "@apidevtools/json-schema-ref-parser": "14.1.1",
144
- "@envelop/core": "5.3.0",
144
+ "@envelop/core": "5.3.2",
145
145
  "@graphql-typed-document-node/core": "3.2.0",
146
146
  "@lekoarts/rehype-meta-as-attributes": "3.0.3",
147
- "@mdx-js/react": "3.1.0",
147
+ "@mdx-js/react": "3.1.1",
148
148
  "@mdx-js/rollup": "3.1.0",
149
- "@pothos/core": "4.8.0",
149
+ "@pothos/core": "4.10.0",
150
150
  "@radix-ui/react-accordion": "1.2.12",
151
151
  "@radix-ui/react-alert-dialog": "1.1.15",
152
152
  "@radix-ui/react-aspect-ratio": "1.1.7",
@@ -169,38 +169,38 @@
169
169
  "@radix-ui/react-toggle-group": "1.1.11",
170
170
  "@radix-ui/react-tooltip": "1.2.8",
171
171
  "@radix-ui/react-visually-hidden": "1.2.3",
172
- "@scalar/openapi-parser": "0.18.0",
172
+ "@scalar/openapi-parser": "0.22.3",
173
173
  "@sentry/node": "9.26.0",
174
- "@shikijs/engine-javascript": "3.12.0",
175
- "@shikijs/langs": "3.12.0",
176
- "@shikijs/rehype": "3.12.0",
177
- "@shikijs/themes": "3.12.0",
178
- "@shikijs/transformers": "3.12.0",
179
- "@sindresorhus/slugify": "2.2.1",
174
+ "@shikijs/engine-javascript": "3.14.0",
175
+ "@shikijs/langs": "3.14.0",
176
+ "@shikijs/rehype": "3.14.0",
177
+ "@shikijs/themes": "3.14.0",
178
+ "@shikijs/transformers": "3.14.0",
179
+ "@sindresorhus/slugify": "3.0.0",
180
180
  "@stefanprobst/rehype-extract-toc": "3.0.0",
181
181
  "@tailwindcss/typography": "0.5.16",
182
182
  "@tailwindcss/vite": "4.1.11",
183
- "@tanem/react-nprogress": "5.0.55",
183
+ "@tanem/react-nprogress": "5.0.56",
184
184
  "@tanstack/react-query": "5.85.5",
185
- "@types/react": "19.1.10",
186
- "@types/react-dom": "19.1.7",
187
- "@vitejs/plugin-react": "4.6.0",
185
+ "@types/react": "19.2.0",
186
+ "@types/react-dom": "19.2.0",
187
+ "@vitejs/plugin-react": "5.1.0",
188
188
  "@zudoku/httpsnippet": "10.0.9",
189
189
  "@zudoku/react-helmet-async": "2.0.5",
190
- "@zuplo/mcp": "^0.0.18",
190
+ "@zuplo/mcp": "^0.0.22",
191
191
  "allof-merge": "0.6.7",
192
192
  "class-variance-authority": "0.7.1",
193
193
  "clsx": "2.1.1",
194
194
  "cmdk": "1.1.1",
195
195
  "embla-carousel-react": "8.6.0",
196
- "estree-util-value-to-estree": "3.4.0",
196
+ "estree-util-value-to-estree": "3.4.1",
197
197
  "express": "5.1.0",
198
198
  "fast-equals": "5.2.2",
199
199
  "glob": "11.0.3",
200
200
  "glob-parent": "6.0.2",
201
201
  "graphql": "16.11.0",
202
202
  "graphql-type-json": "0.3.2",
203
- "graphql-yoga": "5.15.1",
203
+ "graphql-yoga": "5.16.0",
204
204
  "gray-matter": "4.0.3",
205
205
  "hast-util-to-jsx-runtime": "^2.3.6",
206
206
  "hast-util-to-string": "3.0.1",
@@ -208,7 +208,7 @@
208
208
  "javascript-stringify": "2.1.0",
209
209
  "json-schema-to-typescript-lite": "15.0.0",
210
210
  "loglevel": "1.9.2",
211
- "lucide-react": "0.542.0",
211
+ "lucide-react": "0.548.0",
212
212
  "motion": "12.23.12",
213
213
  "nanoevents": "^9.1.0",
214
214
  "next-themes": "0.4.6",
@@ -219,8 +219,8 @@
219
219
  "piscina": "5.1.3",
220
220
  "posthog-node": "5.7.0",
221
221
  "react-error-boundary": "6.0.0",
222
- "react-hook-form": "7.62.0",
223
- "react-is": "19.1.1",
222
+ "react-hook-form": "7.66.0",
223
+ "react-is": "19.2.0",
224
224
  "react-markdown": "10.1.0",
225
225
  "react-router": "7.8.2",
226
226
  "rehype-mdx-import-media": "1.2.0",
@@ -232,29 +232,29 @@
232
232
  "remark-frontmatter": "5.0.0",
233
233
  "remark-gfm": "4.0.1",
234
234
  "remark-mdx-frontmatter": "5.2.0",
235
- "rollup": "4.46.1",
235
+ "rollup": "4.52.5",
236
236
  "semver": "7.7.2",
237
- "shiki": "3.12.0",
237
+ "shiki": "3.14.0",
238
238
  "sitemap": "8.0.0",
239
- "strip-ansi": "7.1.0",
239
+ "strip-ansi": "7.1.2",
240
240
  "tailwind-merge": "3.3.1",
241
241
  "tailwindcss": "4.1.11",
242
- "tw-animate-css": "1.3.6",
242
+ "tw-animate-css": "1.4.0",
243
243
  "unified": "^11.0.5",
244
244
  "unist-util-visit": "5.0.0",
245
245
  "vaul": "1.1.2",
246
246
  "vfile": "6.0.3",
247
- "vite": "6.3.5",
247
+ "vite": "6.4.1",
248
248
  "yaml": "2.8.1",
249
249
  "yargs": "18.0.0",
250
- "zod": "4.0.10",
250
+ "zod": "4.1.12",
251
251
  "zustand": "5.0.8"
252
252
  },
253
253
  "devDependencies": {
254
- "@graphql-codegen/cli": "5.0.7",
255
- "@inkeep/cxkit-types": "0.5.90",
254
+ "@graphql-codegen/cli": "6.0.1",
255
+ "@inkeep/cxkit-types": "0.5.101",
256
256
  "@testing-library/dom": "10.4.1",
257
- "@testing-library/jest-dom": "6.8.0",
257
+ "@testing-library/jest-dom": "6.9.1",
258
258
  "@testing-library/react": "16.3.0",
259
259
  "@types/estree": "1.0.8",
260
260
  "@types/express": "5.0.3",
@@ -265,28 +265,28 @@
265
265
  "@types/mdast": "4.0.4",
266
266
  "@types/mdx": "2.0.13",
267
267
  "@types/node": "22.13.5",
268
- "@types/react-is": "19.0.0",
268
+ "@types/react-is": "19.2.0",
269
269
  "@types/semver": "7.7.0",
270
270
  "@types/unist": "^3.0.3",
271
271
  "@types/yargs": "17.0.33",
272
272
  "@vitest/coverage-v8": "3.2.4",
273
- "esbuild": "0.25.8",
274
- "happy-dom": "18.0.1",
273
+ "esbuild": "0.25.11",
274
+ "happy-dom": "20.0.10",
275
275
  "mdast-util-mdx": "3.0.0",
276
- "react": "19.1.1",
277
- "react-dom": "19.1.1",
276
+ "react": "19.2.0",
277
+ "react-dom": "19.2.0",
278
278
  "rollup-plugin-visualizer": "6.0.3",
279
279
  "tsx": "4.20.4",
280
- "typescript": "5.9.2",
281
- "vitest": "3.2.4"
280
+ "typescript": "5.9.3",
281
+ "vitest": "4.0.6"
282
282
  },
283
283
  "peerDependencies": {
284
284
  "@azure/msal-browser": "^4.13.0",
285
285
  "@clerk/clerk-js": "^5.63.1",
286
286
  "@sentry/react": "^9.12.0",
287
287
  "@supabase/supabase-js": "^2.49.4",
288
- "react": ">=19",
289
- "react-dom": ">=19"
288
+ "react": ">=19.2.0",
289
+ "react-dom": ">=19.2.0"
290
290
  },
291
291
  "peerDependenciesMeta": {
292
292
  "@azure/msal-browser": {
@@ -0,0 +1,31 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const CIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 38.000089 42.000031"
9
+ {...props}
10
+ >
11
+ <title>C</title>
12
+ <path
13
+ fill="#004482"
14
+ d="M17.903.286a2.247 2.247 0 0 1 2.193 0L36.903 9.72A2.12 2.12 0 0 1 38 11.566v18.867c0 .762-.418 1.466-1.097 1.847l-16.807 9.434a2.247 2.247 0 0 1-2.193 0L1.096 32.28A2.122 2.122 0 0 1 0 30.434V11.567c0-.762.418-1.466 1.097-1.847C4.451 7.837 14.549 2.17 17.903.286z"
15
+ />
16
+ <path
17
+ fill="#659ad2"
18
+ d="M.304 31.404C.038 31.048 0 30.71 0 30.255V11.496c0-.758.417-1.458 1.094-1.836L17.842.28c.677-.379 1.594-.37 2.271.008 3.343 1.872 13.371 7.46 16.714 9.331.27.152.476.335.66.576z"
19
+ />
20
+ <path
21
+ fill="#fff"
22
+ d="M19 7c7.727 0 14 6.273 14 14s-6.273 14-14 14S5 28.727 5 21 11.273 7 19 7zm0 7c3.863 0 7 3.136 7 7 0 3.863-3.137 7-7 7s-7-3.137-7-7c0-3.864 3.136-7 7-7z"
23
+ />
24
+ <path
25
+ fill="#00599c"
26
+ d="M37.485 10.205c.516.483.506 1.211.506 1.784 0 3.795-.032 14.59.009 18.384.004.396-.127.813-.323 1.127L18.593 21z"
27
+ />
28
+ </svg>
29
+ );
30
+
31
+ export default CIcon;
@@ -0,0 +1,22 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const CommonLispIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 512 512"
9
+ {...props}
10
+ >
11
+ <title>Common Lisp</title>
12
+ <circle cx="256" cy="256" r="235" fill="#fff" />
13
+ <path
14
+ stroke="#000"
15
+ strokeWidth="5"
16
+ d="m255.56 20.008c-62.374 0.1169-122.17 24.922-166.3 68.992-92.236 92.091-92.353 241.52-0.2617 333.75 92.09 92.236 241.52 92.353 333.75 0.262 92.236-92.091 92.353-241.52 0.262-333.75-44.377-44.447-104.64-69.371-167.45-69.254zm2.281 1.0059c59.934 0.4846 119.39 23.809 164.46 68.953 91.701 91.845 91.585 240.64-0.259 332.34-45.922 45.851-120.32 45.793-166.17-0.129-45.851-45.922-45.793-120.32 0.129-166.17 46.412-46.339 46.471-121.53 0.13-167.94-37.084-37.141-94.457-46.553-140.66-21.658 42.416-31.541 92.711-45.798 142.37-45.396zm-190.84 130.26h40c9.943 42.147 25.204 79.418 40.75 116.43 15.9-41.326 33.203-81.249 55.25-116.43h40c-48.928 97.364-102.19 164.06-24 250h-40c-47.567-77.243-82.439-147.67-112-250z"
17
+ />
18
+ <path d="m293 110.72c78.194 85.936 24.928 152.64-24 250h40c22.047-35.179 39.35-75.102 55.25-116.43 15.546 37.01 30.807 74.282 40.75 116.43h40c-29.561-102.33-64.433-172.76-112-250z" />
19
+ </svg>
20
+ );
21
+
22
+ export default CommonLispIcon;
@@ -0,0 +1,35 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const CppIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 306 344.35"
9
+ {...props}
10
+ >
11
+ <title>C++</title>
12
+ <path
13
+ fill="#00599C"
14
+ d="M302.107 258.262c2.401-4.159 3.893-8.845 3.893-13.053V99.14c0-4.208-1.49-8.893-3.892-13.052L153 172.175l149.107 86.087z"
15
+ />
16
+ <path
17
+ fill="#004482"
18
+ d="m166.25 341.193 126.5-73.034c3.644-2.104 6.956-5.737 9.357-9.897L153 172.175 3.893 258.263c2.401 4.159 5.714 7.793 9.357 9.896l126.5 73.034c7.287 4.208 19.213 4.208 26.5 0z"
19
+ />
20
+ <path
21
+ fill="#659AD2"
22
+ d="M302.108 86.087c-2.402-4.16-5.715-7.793-9.358-9.897L166.25 3.156c-7.287-4.208-19.213-4.208-26.5 0L13.25 76.19C5.962 80.397 0 90.725 0 99.14v146.069c0 4.208 1.491 8.894 3.893 13.053L153 172.175l149.108-86.088z"
23
+ />
24
+ <path
25
+ fill="#FFF"
26
+ d="M153 274.175c-56.243 0-102-45.757-102-102s45.757-102 102-102c36.292 0 70.139 19.53 88.331 50.968l-44.143 25.544c-9.105-15.736-26.038-25.512-44.188-25.512-28.122 0-51 22.878-51 51 0 28.121 22.878 51 51 51 18.152 0 35.085-9.776 44.191-25.515l44.143 25.543c-18.192 31.441-52.04 50.972-88.334 50.972z"
27
+ />
28
+ <path
29
+ fill="#FFF"
30
+ d="M255 166.508h-11.334v-11.333h-11.332v11.333H221v11.333h11.334v11.334h11.332v-11.334H255zM297.5 166.508h-11.334v-11.333h-11.332v11.333H263.5v11.333h11.334v11.334h11.332v-11.334H297.5z"
31
+ />
32
+ </svg>
33
+ );
34
+
35
+ export default CppIcon;
@@ -0,0 +1,39 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const DartIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="188 251.8 110.5 110.5"
9
+ {...props}
10
+ >
11
+ <title>Dart</title>
12
+ <path
13
+ fill="#00c4b3"
14
+ d="m217.7 281.7-7.1-7.1v51.2l.1 2.4c0 1.1.2 2.4.6 3.7l56.2 19.8 14-6.2z"
15
+ />
16
+ <path
17
+ fill="#22d3c5"
18
+ d="M211.3 331.9zm70.2 13.6-14 6.2-56.1-19.8c1.1 4.1 3.4 8.7 6 11.3l18.3 18.2 40.8.1z"
19
+ />
20
+ <path
21
+ fill="#0075c9"
22
+ d="m210.8 274.6-21.8 33c-1.8 1.9-.9 5.9 2 8.9l12.6 12.7 7.9 2.8c-.3-1.3-.6-2.6-.6-3.7l-.1-2.4z"
23
+ />
24
+ <path
25
+ fill="#0075c9"
26
+ d="M267.9 275.2c-1.3-.3-2.6-.5-3.7-.6l-2.5-.1h-51.1l70.9 70.9 6.2-14z"
27
+ />
28
+ <path
29
+ fill="#00a8e1"
30
+ d="M267.8 275.2c.1 0 .1 0 0 0 .1 0 .1 0 0 0zm11.4 6c-2.6-2.6-7.1-5-11.3-6l19.8 56.2-6.2 14 15.2-4.9v-41.7z"
31
+ />
32
+ <path
33
+ fill="#00c4b3"
34
+ d="m265.1 267.4-12.7-12.6c-2.9-2.9-6.9-3.8-8.9-2l-33 21.8h51.1l2.5.1c1.1 0 2.4.2 3.7.6z"
35
+ />
36
+ </svg>
37
+ );
38
+
39
+ export default DartIcon;
@@ -0,0 +1,19 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const ElixirIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 24 24"
9
+ {...props}
10
+ >
11
+ <title>Elixir</title>
12
+ <path
13
+ fill="currentColor"
14
+ d="M19.793 16.575c0 3.752-2.927 7.426-7.743 7.426-5.249 0-7.843-3.71-7.843-8.29 0-5.21 3.892-12.952 8-15.647a.397.397 0 0 1 .61.371 9.72 9.72 0 0 0 1.694 6.518c.522.795 1.092 1.478 1.763 2.352.94 1.227 1.637 1.906 2.644 3.842l.015.028a7.1 7.1 0 0 1 .86 3.4"
15
+ />
16
+ </svg>
17
+ );
18
+
19
+ export default ElixirIcon;
@@ -0,0 +1,34 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const OCamlIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 128 128"
9
+ {...props}
10
+ >
11
+ <path
12
+ fill="#484444"
13
+ d="m64.11 83.918.019-.047c-.027-.117-.035-.148-.02.047zm0 0"
14
+ />
15
+ <path
16
+ fill="#f29100"
17
+ d="m64.11 83.918.019-.047c-.027-.117-.035-.148-.02.047zm0 0"
18
+ />
19
+ <path
20
+ fill="#ec6813"
21
+ d="M64.969 115.441c-.45-.937-1.016-2.773-1.39-3.582-.356-.754-1.434-2.722-1.974-3.355-1.175-1.375-1.453-1.477-1.796-3.215-.602-3.023-2.192-8.508-4.067-12.293-.969-1.953-2.578-3.594-4.05-5.012-1.286-1.242-4.184-3.332-4.692-3.226-4.734.945-6.203 5.59-8.434 9.27-1.23 2.034-2.535 3.765-3.507 5.929-.899 1.992-.817 4.195-2.352 5.902-1.578 1.758-2.602 3.625-3.371 5.891-.148.43-.563 4.953-1.016 6.027l7.04-.496c6.558.45 4.663 2.965 14.902 2.414l16.164-.5c-.504-1.48-1.196-3.195-1.461-3.754zm0 0"
22
+ />
23
+ <path
24
+ fill="#ec6813"
25
+ d="M111.875 8.223H16.133C7.227 8.227.008 15.445.008 24.352v35.183c2.308-.836 5.625-5.742 6.664-6.937 1.82-2.086 2.148-4.75 3.055-6.426 2.066-3.82 2.421-6.445 7.109-6.445 2.187 0 3.055.503 4.535 2.488 1.027 1.379 2.809 3.93 3.637 5.633.96 1.968 2.527 4.629 3.215 5.164.511.402 1.015.699 1.488.875.758.289 1.39-.235 1.898-.64.649-.52.93-1.571 1.532-2.977.867-2.028 1.808-4.458 2.347-5.31.93-1.464 1.246-3.202 2.25-4.046 1.485-1.242 3.414-1.328 3.95-1.434 2.976-.59 4.328 1.434 5.792 2.743.961.855 2.27 2.582 3.204 4.89.726 1.809 1.652 3.48 2.039 4.524.375 1.004 1.3 2.62 1.847 4.55.496 1.758 1.828 3.106 2.332 3.938 0 0 .774 2.168 5.48 4.152 1.02.43 3.083 1.13 4.313 1.575 2.047.746 4.028.648 6.551.347 1.797 0 2.774-2.605 3.59-4.691.484-1.23.945-4.766 1.262-5.766.304-.976-.41-1.73.199-2.586.71-1 1.133-1.054 1.543-2.355.883-2.785 5.984-2.926 8.847-2.926 2.399 0 2.086 2.32 6.141 1.527 2.32-.457 4.559.297 7.024.95 2.074.55 4.023 1.175 5.195 2.546.758.887 2.633 5.325.719 5.516.183.223.32.629.664.852-.426 1.675-2.282.48-3.309.265-1.39-.285-2.367.043-3.726.645-2.32 1.035-5.715.914-7.739 2.597-1.715 1.43-1.71 4.614-2.511 6.399 0 0-2.223 5.719-7.075 9.215-1.242.898-3.668 3.054-8.953 3.87-2.367.368-4.586.395-7.02.274l-3.511-.133c-.695-.003-3.063-.082-2.945.145l-.266.656c.043.219.129.754.152.887.098.527.125.95.145 1.437.035 1-.082 2.043-.031 3.055.105 2.094.882 4.008.98 6.121.11 2.356 1.274 4.844 2.399 6.77.43.73 1.078.812 1.363 1.715.332 1.03.02 2.129.18 3.23.632 4.266 1.855 8.73 3.785 12.582a1 1 0 0 0 .043.094c2.375-.395 4.754-1.25 7.84-1.707 5.652-.836 13.519-.406 18.57-.88 12.781-1.198 19.719 5.243 31.203 2.602V24.352c-.004-8.907-7.223-16.13-16.129-16.13zM64.109 83.918c-.015-.195-.007-.168.02-.047zm0 0"
26
+ />
27
+ <path
28
+ fill="#ec6813"
29
+ d="M29.516 98.727c.89-1.946 1.406-4.165 2.144-6.157.711-1.906 1.817-4.61 3.7-5.57-.227-.27-3.938-.39-4.93-.492l-3.2-.453-6.164-1.27c-1.199-.289-5.187-1.703-6.054-2.101-2.032-.938-3.383-3.48-4.969-3.22-1.016.165-2.012.513-2.633 1.536-.515.836-.691 2.27-1.047 3.23-.414 1.118-1.129 2.16-1.754 3.223-1.152 1.95-3.222 3.715-4.113 5.617-.18.39-.34.828-.488 1.285v21.735l3.347.722c8.993 2.403 11.188 2.606 20.008 1.594l.828-.11c.672-1.405 1.196-6.187 1.633-7.667.34-1.137.809-2.04.988-3.2.168-1.1-.015-2.148-.113-3.152-.242-2.504 1.828-3.398 2.82-5.55zm0 0"
30
+ />
31
+ </svg>
32
+ );
33
+
34
+ export default OCamlIcon;
@@ -0,0 +1,27 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const PowerShellIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 204.691 154.521"
9
+ {...props}
10
+ >
11
+ <title>PowerShell</title>
12
+ <path
13
+ fill="#2671BE"
14
+ d="M85.365 149.813c-23.014-.008-46.029.098-69.042-.053-11.67-.076-13.792-2.83-11.165-14.244 8.906-38.71 18.099-77.355 26.807-116.109C34.3 9.013 39.337 4.419 50.473 4.522c46.024.427 92.056.137 138.083.184 11.543.011 13.481 2.48 10.89 14.187-8.413 38.007-16.879 76.003-25.494 113.965-3.224 14.207-6.938 16.918-21.885 16.951-22.234.047-44.469.012-66.702.004z"
15
+ />
16
+ <path
17
+ fill="#FDFDFE"
18
+ d="M104.948 73.951c-1.543-1.81-3.237-3.894-5.031-5.886-10.173-11.3-20.256-22.684-30.61-33.815-4.738-5.094-6.248-10.041-.558-15.069 5.623-4.97 11.148-4.53 16.306 1.188 14.365 15.919 28.713 31.856 43.316 47.556 5.452 5.864 4.182 9.851-1.823 14.196-23.049 16.683-45.968 33.547-68.862 50.443-5.146 3.799-10.052 4.75-14.209-.861-4.586-6.189-.343-9.871 4.414-13.335 17.013-12.392 33.993-24.83 50.9-37.366 2.355-1.746 5.736-2.764 6.157-7.051z"
19
+ />
20
+ <path
21
+ fill="#FCFDFD"
22
+ d="M112.235 133.819c-6.196 0-12.401.213-18.583-.068-4.932-.223-7.9-2.979-7.838-8.174.06-4.912 2.536-8.605 7.463-8.738 13.542-.363 27.104-.285 40.651-.02 4.305.084 7.483 2.889 7.457 7.375-.031 5.146-2.739 9.133-8.25 9.465-6.944.42-13.931.104-20.899.104l-.001.056z"
23
+ />
24
+ </svg>
25
+ );
26
+
27
+ export default PowerShellIcon;
@@ -0,0 +1,19 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const ScalaIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 128 128"
9
+ {...props}
10
+ >
11
+ <title>Scala</title>
12
+ <path
13
+ fill="currentColor"
14
+ d="M25.411 110.572V95.077l11.842-.474c12.315-.473 21.45-1.488 34.847-3.789 15.225-2.639 30.246-7.375 31.803-10.082.406-.677.676 4.534.676 14.616v15.698l-1.76 1.353c-1.894 1.489-9.202 3.993-17.524 6.09C72.303 121.737 40.568 126 29.742 126h-4.33zm0-39.245V55.83l11.842-.406c13.127-.541 23.344-1.691 36.877-4.195 15.157-2.842 28.96-7.443 29.976-9.947.203-.473.406 6.09.406 14.616.067 13.533-.068 15.698-1.083 16.78-2.368 2.64-20.638 7.376-39.449 10.286-11.435 1.76-30.381 3.79-35.66 3.79h-2.909zm0-38.975V17.195l2.098-.406c1.15-.203 3.992-.406 6.293-.406 11.367 0 38.366-3.722 51.628-7.105 9.27-2.436 15.698-4.872 17.931-6.902 1.15-1.015 1.218-.406 1.218 14.48 0 14.548-.067 15.63-1.285 16.714-1.827 1.691-14.345 5.548-24.09 7.51-15.765 3.113-41.951 6.429-50.883 6.429h-2.91z"
15
+ />
16
+ </svg>
17
+ );
18
+
19
+ export default ScalaIcon;
@@ -0,0 +1,32 @@
1
+ import type { SVGProps } from "react";
2
+
3
+ const ZigIcon = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ viewBox="0 0 400 140"
9
+ {...props}
10
+ >
11
+ <title>Zig</title>
12
+ <g fill="#F7A41D">
13
+ <path d="M46 22 28 44l-9-14z" />
14
+ <path d="M46 22 33 33l-5 11h-6v51h9l-11 5-8 17H0V22z" />
15
+ <path d="m31 95-19 22-8-11zM56 22l6 14-25 8z" />
16
+ <path d="M56 22h55v22H37l19-12zM116 95l-19 22-7-13z" />
17
+ <path d="m116 95-16 9-3 13H42V95z" />
18
+ <path d="M150 0 52 117 3 140l98-118zM141 22l-1 18-18 5z" />
19
+ <path d="M153 22v95h-47l14-12 5-10h6V45h-9l10-9 9-14z" />
20
+ <path d="m125 95 5 15-24 7z" />
21
+ </g>
22
+ <g fill="currentColor">
23
+ <path d="M260 22v15l-31 3h-52V22z" />
24
+ <path d="m260 37-53 62v4h-31l53-63v-3z" />
25
+ <path d="M261 99v18h-85v-14l30-4zM272 22h22v95h-22zM394 67v39h-18V81l-16-11-14-3z" />
26
+ <path d="m360 68 16 13-30-14z" />
27
+ <path d="M394 106c-10.2 7.3-24 12-37.7 12-29 0-51.1-20.8-51.1-48.3 0-27.3 22.5-48.1 52-48.1 14.3 0 29.2 5.5 38.9 14l-13 15c-7.1-6.3-16.8-10-25.9-10-17 0-30.2 12.9-30.2 29.5 0 16.8 13.3 29.6 30.3 29.6 5.7 0 12.8-2.3 19-5.5L394 106z" />
28
+ </g>
29
+ </svg>
30
+ );
31
+
32
+ export default ZigIcon;
@@ -10,6 +10,7 @@ class Auth0AuthenticationProvider
10
10
  extends OpenIDAuthenticationProvider
11
11
  implements AuthenticationPlugin
12
12
  {
13
+ private readonly options: Auth0AuthenticationConfig["options"];
13
14
  constructor(config: Auth0AuthenticationConfig) {
14
15
  super({
15
16
  ...config,
@@ -19,13 +20,16 @@ class Auth0AuthenticationProvider
19
20
  audience: config.audience,
20
21
  scopes: config.scopes,
21
22
  });
23
+ this.options = config.options;
22
24
  }
23
25
 
24
26
  onAuthorizationUrl = async (
25
27
  url: URL,
26
28
  { isSignUp }: { isSignUp: boolean },
27
29
  ) => {
28
- url.searchParams.set("prompt", "login");
30
+ if (this.options?.alwaysPromptLogin !== false) {
31
+ url.searchParams.set("prompt", "login");
32
+ }
29
33
  if (isSignUp) {
30
34
  url.searchParams.set("screen_hint", "signup");
31
35
  }
@@ -38,8 +42,8 @@ class Auth0AuthenticationProvider
38
42
  useAuthState.setState({
39
43
  isAuthenticated: false,
40
44
  isPending: false,
41
- profile: null,
42
- providerData: null,
45
+ profile: undefined,
46
+ providerData: undefined,
43
47
  });
44
48
 
45
49
  const redirectUrl = new URL(window.location.origin);
@@ -71,16 +71,18 @@ export const BuildCheck = ({
71
71
  ? "A new version of the developer portal will be available soon."
72
72
  : "To see the new version, reload the page now."}
73
73
  </span>
74
- <Button
75
- variant="outline"
76
- size="sm"
77
- className="w-full"
78
- onClick={() => {
79
- window.location.reload();
80
- }}
81
- >
82
- Reload
83
- </Button>
74
+ {isCompleted && (
75
+ <Button
76
+ variant="outline"
77
+ size="sm"
78
+ className="w-full"
79
+ onClick={() => {
80
+ window.location.reload();
81
+ }}
82
+ >
83
+ Reload
84
+ </Button>
85
+ )}
84
86
  </div>
85
87
  );
86
88
  };
@@ -1,7 +1,6 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority";
2
2
  import { LinkIcon } from "lucide-react";
3
3
  import type { HTMLAttributes, ReactNode } from "react";
4
- import { cn } from "../util/cn.js";
5
4
  import { useRegisterAnchorElement } from "./context/ViewportAnchorContext.js";
6
5
 
7
6
  const heading = cva("group relative", {
@@ -64,10 +63,7 @@ export const Heading = ({
64
63
 
65
64
  return (
66
65
  <Component
67
- className={heading({
68
- className: cn("flex items-center gap-[0.33em]", className),
69
- level,
70
- })}
66
+ className={heading({ className, level })}
71
67
  ref={registerNavigationAnchor ? ref : undefined}
72
68
  id={id}
73
69
  >
@@ -75,7 +71,7 @@ export const Heading = ({
75
71
  {id && (
76
72
  <a
77
73
  href={`#${id}`}
78
- className="rounded text-[0.8em] text-muted-foreground p-0.5 -m-0.5 opacity-0 group-hover:opacity-50 hover:text-primary hover:!opacity-100 transition-opacity duration-200"
74
+ className="ms-[0.33em] rounded text-[0.8em] text-muted-foreground p-0.5 -m-0.5 opacity-0 group-hover:opacity-50 hover:text-primary hover:!opacity-100 transition-opacity duration-200 inline-flex items-center align-middle"
79
75
  aria-label={`Link to ${id}`}
80
76
  >
81
77
  <LinkIcon className="size-[0.75em] min-w-4 min-h-4" />
@@ -117,6 +117,51 @@ const Languages: Record<string, Language> = {
117
117
  pattern: /^(gql|graphql)$/,
118
118
  icon: lazy(() => import("../assets/language-icons/graphql.js")),
119
119
  },
120
+ zig: {
121
+ pattern: /^zig$/,
122
+ icon: lazy(() => import("../assets/language-icons/zig.js")),
123
+ width: 28,
124
+ },
125
+ scala: {
126
+ pattern: /^scala$/,
127
+ icon: lazy(() => import("../assets/language-icons/scala.js")),
128
+ width: 18,
129
+ },
130
+ dart: {
131
+ pattern: /^dart$/,
132
+ icon: lazy(() => import("../assets/language-icons/dart.js")),
133
+ width: 20,
134
+ },
135
+ ocaml: {
136
+ pattern: /^ocaml$/,
137
+ icon: lazy(() => import("../assets/language-icons/ocaml.js")),
138
+ width: 20,
139
+ },
140
+ c: {
141
+ pattern: /^c$/,
142
+ icon: lazy(() => import("../assets/language-icons/c.js")),
143
+ width: 20,
144
+ },
145
+ cpp: {
146
+ pattern: /^(cpp|c\+\+)$/,
147
+ icon: lazy(() => import("../assets/language-icons/cpp.js")),
148
+ width: 20,
149
+ },
150
+ commonlisp: {
151
+ pattern: /^(clisp|common-lisp|lisp|cl|commonlisp)$/,
152
+ icon: lazy(() => import("../assets/language-icons/commonlisp.js")),
153
+ width: 18,
154
+ },
155
+ elixir: {
156
+ pattern: /^elixir$/,
157
+ icon: lazy(() => import("../assets/language-icons/elixir.js")),
158
+ width: 18,
159
+ },
160
+ powershell: {
161
+ pattern: /^(pshell|powershell|ps1)$/,
162
+ icon: lazy(() => import("../assets/language-icons/powershell.js")),
163
+ width: 18,
164
+ },
120
165
  };
121
166
 
122
167
  export const LanguageIcon = ({ language }: { language?: string }) => {
@@ -27,7 +27,7 @@ export const Main = ({ children }: PropsWithChildren) => {
27
27
  />
28
28
  )}
29
29
  {hasNavigation && (
30
- <div className="lg:hidden -mx-4 px-4 py-2 sticky bg-background/80 backdrop-blur-xs z-10 top-0 start-0 end-0 border-b">
30
+ <div className="lg:hidden m-0 p-0 md:-mx-4 md:px-4 py-2 sticky bg-background/80 backdrop-blur-xs z-10 top-0 start-0 end-0 border-b">
31
31
  <DrawerTrigger className="flex items-center gap-2 px-4">
32
32
  <PanelLeftIcon size={16} strokeWidth={1.5} />
33
33
  <span className="text-sm">Menu</span>
@@ -1,17 +1,21 @@
1
1
  import { useQueryClient } from "@tanstack/react-query";
2
+ import { useCallback } from "react";
2
3
 
3
4
  export const CACHE_KEYS = Object.freeze({
4
5
  API_IDENTITIES: ["api-identities"],
5
6
  });
6
7
 
8
+ type CacheKey = keyof typeof CACHE_KEYS;
9
+
7
10
  export const useCache = () => {
8
11
  const queryClient = useQueryClient();
12
+ const invalidateCache = useCallback(
13
+ (key: CacheKey) =>
14
+ queryClient.invalidateQueries({ queryKey: CACHE_KEYS[key] }),
15
+ [queryClient],
16
+ );
9
17
 
10
- return {
11
- invalidateCache: async (key: keyof typeof CACHE_KEYS) => {
12
- await queryClient.invalidateQueries({ queryKey: CACHE_KEYS[key] });
13
- },
14
- };
18
+ return { invalidateCache };
15
19
  };
16
20
 
17
21
  /**