zudoku 0.0.0-f36627bd → 0.0.0-f370c714

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (963) hide show
  1. package/README.md +1 -1
  2. package/client.d.ts +8 -0
  3. package/dist/app/entry.server.js +14 -1
  4. package/dist/app/entry.server.js.map +1 -1
  5. package/dist/app/main.d.ts +91 -1
  6. package/dist/app/main.js +5 -1
  7. package/dist/app/main.js.map +1 -1
  8. package/dist/app/sentry.js +1 -1
  9. package/dist/cli/cli.d.ts +9 -0
  10. package/dist/cli/cli.js +4 -10
  11. package/dist/cli/cli.js.map +1 -1
  12. package/dist/cli/common/version-check.d.ts +2 -0
  13. package/dist/cli/common/version-check.js +58 -0
  14. package/dist/cli/common/version-check.js.map +1 -0
  15. package/dist/config/config.d.ts +15 -41
  16. package/dist/config/validators/BuildSchema.d.ts +15 -7
  17. package/dist/config/validators/BuildSchema.js +34 -2
  18. package/dist/config/validators/BuildSchema.js.map +1 -1
  19. package/dist/config/validators/InputNavigationSchema.d.ts +169 -85
  20. package/dist/config/validators/InputNavigationSchema.js +1 -0
  21. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  22. package/dist/config/validators/NavigationSchema.js +2 -4
  23. package/dist/config/validators/NavigationSchema.js.map +1 -1
  24. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  25. package/dist/config/validators/icon-types.d.ts +1 -1
  26. package/dist/config/validators/icon-types.js +20 -0
  27. package/dist/config/validators/icon-types.js.map +1 -1
  28. package/dist/config/validators/validate.d.ts +278 -25
  29. package/dist/config/validators/validate.js +75 -10
  30. package/dist/config/validators/validate.js.map +1 -1
  31. package/dist/config/validators/validate.test.js +43 -0
  32. package/dist/config/validators/validate.test.js.map +1 -1
  33. package/dist/flat-config.d.ts +60 -5
  34. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  35. package/dist/lib/assets/language-icons/c.js +4 -0
  36. package/dist/lib/assets/language-icons/c.js.map +1 -0
  37. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  38. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  39. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  40. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  41. package/dist/lib/assets/language-icons/cpp.js +4 -0
  42. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  43. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  44. package/dist/lib/assets/language-icons/dart.js +4 -0
  45. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  46. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  47. package/dist/lib/assets/language-icons/elixir.js +4 -0
  48. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  49. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  50. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  51. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  52. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  53. package/dist/lib/assets/language-icons/powershell.js +4 -0
  54. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  55. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  56. package/dist/lib/assets/language-icons/scala.js +4 -0
  57. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  58. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  59. package/dist/lib/assets/language-icons/zig.js +4 -0
  60. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  61. package/dist/lib/auth/issuer.js +3 -0
  62. package/dist/lib/auth/issuer.js.map +1 -1
  63. package/dist/lib/authentication/authentication.d.ts +19 -10
  64. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  65. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  66. package/dist/lib/authentication/components/SignIn.js +8 -5
  67. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  68. package/dist/lib/authentication/components/SignOut.js +6 -6
  69. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  70. package/dist/lib/authentication/components/SignUp.js +7 -5
  71. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  72. package/dist/lib/authentication/hook.d.ts +5 -2
  73. package/dist/lib/authentication/hook.js +22 -8
  74. package/dist/lib/authentication/hook.js.map +1 -1
  75. package/dist/lib/authentication/providers/auth0.js +13 -4
  76. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  77. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  78. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  79. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  80. package/dist/lib/authentication/providers/clerk.js +2 -2
  81. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  82. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  83. package/dist/lib/authentication/providers/firebase.js +273 -0
  84. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  85. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  86. package/dist/lib/authentication/providers/openid.js +5 -3
  87. package/dist/lib/authentication/providers/openid.js.map +1 -1
  88. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  89. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  90. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  91. package/dist/lib/authentication/providers/supabase.js +30 -31
  92. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  93. package/dist/lib/authentication/state.d.ts +5 -7
  94. package/dist/lib/authentication/state.js +2 -14
  95. package/dist/lib/authentication/state.js.map +1 -1
  96. package/dist/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
  97. package/dist/lib/authentication/ui/EmailVerificationUi.js +34 -0
  98. package/dist/lib/authentication/ui/EmailVerificationUi.js.map +1 -0
  99. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +29 -0
  100. package/dist/lib/authentication/ui/ZudokuAuthUi.js +160 -0
  101. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  102. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  103. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  104. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  105. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  106. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  107. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  108. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  109. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  110. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  111. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  112. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  113. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  114. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  115. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  116. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  117. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  118. package/dist/lib/authentication/ui/icons/X.js +4 -0
  119. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  120. package/dist/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
  121. package/dist/lib/authentication/utils/relativeRedirectUrl.js +8 -0
  122. package/dist/lib/authentication/utils/relativeRedirectUrl.js.map +1 -0
  123. package/dist/lib/components/Autocomplete.d.ts +3 -1
  124. package/dist/lib/components/Autocomplete.js +6 -2
  125. package/dist/lib/components/Autocomplete.js.map +1 -1
  126. package/dist/lib/components/BuildCheck.js +2 -2
  127. package/dist/lib/components/BuildCheck.js.map +1 -1
  128. package/dist/lib/components/Heading.d.ts +1 -1
  129. package/dist/lib/components/Heading.js +1 -5
  130. package/dist/lib/components/Heading.js.map +1 -1
  131. package/dist/lib/components/LanguageIcon.js +45 -0
  132. package/dist/lib/components/LanguageIcon.js.map +1 -1
  133. package/dist/lib/components/Layout.js +3 -2
  134. package/dist/lib/components/Layout.js.map +1 -1
  135. package/dist/lib/components/Main.js +1 -1
  136. package/dist/lib/components/Main.js.map +1 -1
  137. package/dist/lib/components/Mermaid.d.ts +7 -0
  138. package/dist/lib/components/Mermaid.js +42 -0
  139. package/dist/lib/components/Mermaid.js.map +1 -0
  140. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  141. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  142. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  143. package/dist/lib/components/Zudoku.js +5 -8
  144. package/dist/lib/components/Zudoku.js.map +1 -1
  145. package/dist/lib/components/cache.d.ts +3 -1
  146. package/dist/lib/components/cache.js +3 -5
  147. package/dist/lib/components/cache.js.map +1 -1
  148. package/dist/lib/components/context/ZudokuContext.js +10 -2
  149. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  150. package/dist/lib/components/index.d.ts +5 -4
  151. package/dist/lib/components/navigation/NavigationItem.js +3 -3
  152. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  153. package/dist/lib/components/navigation/Toc.js +1 -1
  154. package/dist/lib/components/navigation/Toc.js.map +1 -1
  155. package/dist/lib/core/RouteGuard.d.ts +1 -1
  156. package/dist/lib/core/RouteGuard.js +13 -21
  157. package/dist/lib/core/RouteGuard.js.map +1 -1
  158. package/dist/lib/core/ZudokuContext.d.ts +1 -0
  159. package/dist/lib/core/ZudokuContext.js +2 -0
  160. package/dist/lib/core/ZudokuContext.js.map +1 -1
  161. package/dist/lib/core/__internal.d.ts +1 -1
  162. package/dist/lib/core/plugins.d.ts +3 -3
  163. package/dist/lib/errors/ErrorAlert.js +1 -1
  164. package/dist/lib/errors/ErrorMessage.d.ts +3 -0
  165. package/dist/lib/errors/ErrorMessage.js +16 -0
  166. package/dist/lib/errors/ErrorMessage.js.map +1 -0
  167. package/dist/lib/errors/RouterError.d.ts +3 -1
  168. package/dist/lib/errors/RouterError.js +3 -2
  169. package/dist/lib/errors/RouterError.js.map +1 -1
  170. package/dist/lib/hooks/index.d.ts +5 -3
  171. package/dist/lib/oas/graphql/index.js +24 -3
  172. package/dist/lib/oas/graphql/index.js.map +1 -1
  173. package/dist/lib/oas/parser/index.d.ts +1 -0
  174. package/dist/lib/oas/parser/index.js +7 -3
  175. package/dist/lib/oas/parser/index.js.map +1 -1
  176. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  177. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  178. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +9 -172
  179. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  180. package/dist/lib/plugins/api-keys/index.d.ts +4 -1
  181. package/dist/lib/plugins/api-keys/index.js +21 -17
  182. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  183. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
  184. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js +133 -0
  185. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js.map +1 -0
  186. package/dist/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
  187. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js +30 -0
  188. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js.map +1 -0
  189. package/dist/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
  190. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js +39 -0
  191. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js.map +1 -0
  192. package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
  193. package/dist/lib/plugins/markdown/MdxPage.js +28 -4
  194. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  195. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  196. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  197. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  198. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  199. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  200. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  201. package/dist/lib/plugins/markdown/index.d.ts +3 -1
  202. package/dist/lib/plugins/markdown/index.js +1 -1
  203. package/dist/lib/plugins/markdown/index.js.map +1 -1
  204. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  205. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  206. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  207. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  208. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  209. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  210. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  211. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  212. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  213. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  214. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  215. package/dist/lib/plugins/openapi/MCPEndpoint.js +9 -18
  216. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -1
  217. package/dist/lib/plugins/openapi/OasProvider.js +22 -13
  218. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  219. package/dist/lib/plugins/openapi/OperationList.js +22 -7
  220. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  221. package/dist/lib/plugins/openapi/OperationListItem.d.ts +3 -2
  222. package/dist/lib/plugins/openapi/OperationListItem.js +8 -4
  223. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  224. package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
  225. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  226. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  227. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  228. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  229. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  230. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +1 -3
  231. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  232. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  233. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  234. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  235. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  236. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  237. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  238. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  239. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  240. package/dist/lib/plugins/openapi/Sidecar.d.ts +3 -2
  241. package/dist/lib/plugins/openapi/Sidecar.js +68 -35
  242. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  243. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  244. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  245. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  246. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  247. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  248. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  249. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  250. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  251. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  252. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  253. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  254. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  255. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  256. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  257. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  258. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  259. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  260. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  261. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +8 -2
  262. package/dist/lib/plugins/openapi/graphql/graphql.js +8 -0
  263. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  264. package/dist/lib/plugins/openapi/index.js +16 -15
  265. package/dist/lib/plugins/openapi/index.js.map +1 -1
  266. package/dist/lib/plugins/openapi/interfaces.d.ts +30 -13
  267. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  268. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  269. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  270. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  271. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  272. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  273. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  274. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  275. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  276. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  277. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  278. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  279. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  280. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  281. package/dist/lib/plugins/openapi/playground/Playground.js +71 -29
  282. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  283. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +5 -2
  284. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  285. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  286. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  287. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  288. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  289. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  290. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +5 -3
  291. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  292. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  293. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  294. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  295. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  296. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  297. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  298. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  299. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  300. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  301. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  302. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  303. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  304. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  305. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +33 -19
  306. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  307. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  308. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  309. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +5 -3
  310. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  311. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  312. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  313. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  314. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  315. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  316. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  317. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  318. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  319. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  320. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  321. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  322. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  323. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  324. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  325. package/dist/lib/plugins/openapi/state.d.ts +5 -3
  326. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +24 -1
  327. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  328. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  329. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  330. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +6 -1
  331. package/dist/lib/plugins/openapi/util/getRoutes.js +29 -2
  332. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  333. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  334. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  335. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  336. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  337. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  338. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  339. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  340. package/dist/lib/shiki.d.ts +2 -2
  341. package/dist/lib/shiki.js +40 -14
  342. package/dist/lib/shiki.js.map +1 -1
  343. package/dist/lib/ui/Badge.d.ts +3 -3
  344. package/dist/lib/ui/Badge.js +9 -7
  345. package/dist/lib/ui/Badge.js.map +1 -1
  346. package/dist/lib/ui/Button.d.ts +2 -2
  347. package/dist/lib/ui/Button.js +10 -8
  348. package/dist/lib/ui/Button.js.map +1 -1
  349. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  350. package/dist/lib/ui/ButtonGroup.js +28 -0
  351. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  352. package/dist/lib/ui/Callout.d.ts +5 -5
  353. package/dist/lib/ui/Callout.js +5 -5
  354. package/dist/lib/ui/Callout.js.map +1 -1
  355. package/dist/lib/ui/Carousel.js.map +1 -1
  356. package/dist/lib/ui/Checkbox.d.ts +2 -2
  357. package/dist/lib/ui/Checkbox.js +4 -4
  358. package/dist/lib/ui/Checkbox.js.map +1 -1
  359. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  360. package/dist/lib/ui/CodeBlock.js +1 -1
  361. package/dist/lib/ui/CodeBlock.js.map +1 -1
  362. package/dist/lib/ui/Collapsible.d.ts +4 -4
  363. package/dist/lib/ui/Collapsible.js +11 -4
  364. package/dist/lib/ui/Collapsible.js.map +1 -1
  365. package/dist/lib/ui/Command.d.ts +3 -3
  366. package/dist/lib/ui/Command.js +2 -2
  367. package/dist/lib/ui/Command.js.map +1 -1
  368. package/dist/lib/ui/Dialog.d.ts +12 -18
  369. package/dist/lib/ui/Dialog.js +30 -17
  370. package/dist/lib/ui/Dialog.js.map +1 -1
  371. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  372. package/dist/lib/ui/DropdownMenu.js +47 -32
  373. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  374. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -2
  375. package/dist/lib/ui/EmbeddedCodeBlock.js +4 -3
  376. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  377. package/dist/lib/ui/Frame.d.ts +8 -0
  378. package/dist/lib/ui/Frame.js +22 -0
  379. package/dist/lib/ui/Frame.js.map +1 -0
  380. package/dist/lib/ui/Item.d.ts +23 -0
  381. package/dist/lib/ui/Item.js +67 -0
  382. package/dist/lib/ui/Item.js.map +1 -0
  383. package/dist/lib/ui/Kbd.d.ts +3 -0
  384. package/dist/lib/ui/Kbd.js +10 -0
  385. package/dist/lib/ui/Kbd.js.map +1 -0
  386. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  387. package/dist/lib/ui/NativeSelect.js +14 -0
  388. package/dist/lib/ui/NativeSelect.js.map +1 -0
  389. package/dist/lib/ui/ReactComponentDoc.d.ts +1 -1
  390. package/dist/lib/ui/ReactComponentDoc.js +2 -2
  391. package/dist/lib/ui/ReactComponentDoc.js.map +1 -1
  392. package/dist/lib/ui/Secret.d.ts +6 -0
  393. package/dist/lib/ui/Secret.js +7 -4
  394. package/dist/lib/ui/Secret.js.map +1 -1
  395. package/dist/lib/ui/Select.d.ts +13 -11
  396. package/dist/lib/ui/Select.js +34 -23
  397. package/dist/lib/ui/Select.js.map +1 -1
  398. package/dist/lib/ui/Separator.d.ts +4 -0
  399. package/dist/lib/ui/Separator.js +8 -0
  400. package/dist/lib/ui/Separator.js.map +1 -0
  401. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  402. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  403. package/dist/lib/ui/Tooltip.d.ts +7 -7
  404. package/dist/lib/ui/Tooltip.js +16 -10
  405. package/dist/lib/ui/Tooltip.js.map +1 -1
  406. package/dist/lib/util/MdxComponents.d.ts +3 -1
  407. package/dist/lib/util/MdxComponents.js +5 -2
  408. package/dist/lib/util/MdxComponents.js.map +1 -1
  409. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  410. package/dist/lib/util/createVariantComponent.js +5 -2
  411. package/dist/lib/util/createVariantComponent.js.map +1 -1
  412. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  413. package/dist/lib/util/flattenAllOf.js +88 -0
  414. package/dist/lib/util/flattenAllOf.js.map +1 -0
  415. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  416. package/dist/lib/util/flattenAllOf.test.js +587 -0
  417. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  418. package/dist/lib/util/pastellize.js +4 -4
  419. package/dist/lib/util/pastellize.js.map +1 -1
  420. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  421. package/dist/lib/util/readFrontmatter.js +12 -0
  422. package/dist/lib/util/readFrontmatter.js.map +1 -0
  423. package/dist/lib/util/syncZustandState.d.ts +5 -0
  424. package/dist/lib/util/syncZustandState.js +14 -0
  425. package/dist/lib/util/syncZustandState.js.map +1 -0
  426. package/dist/vite/api/SchemaManager.d.ts +8 -1
  427. package/dist/vite/api/SchemaManager.js +52 -21
  428. package/dist/vite/api/SchemaManager.js.map +1 -1
  429. package/dist/vite/api/SchemaManager.test.js +69 -2
  430. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  431. package/dist/vite/config.js +11 -1
  432. package/dist/vite/config.js.map +1 -1
  433. package/dist/vite/dev-server.js +25 -0
  434. package/dist/vite/dev-server.js.map +1 -1
  435. package/dist/vite/llms.d.ts +12 -0
  436. package/dist/vite/llms.js +66 -0
  437. package/dist/vite/llms.js.map +1 -0
  438. package/dist/vite/mdx/remark-last-modified.js +57 -3
  439. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  440. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  441. package/dist/vite/pagefind-dev-index.js +68 -0
  442. package/dist/vite/pagefind-dev-index.js.map +1 -0
  443. package/dist/vite/plugin-api-keys.js +4 -1
  444. package/dist/vite/plugin-api-keys.js.map +1 -1
  445. package/dist/vite/plugin-api.js +58 -19
  446. package/dist/vite/plugin-api.js.map +1 -1
  447. package/dist/vite/plugin-docs.d.ts +9 -0
  448. package/dist/vite/plugin-docs.js +68 -49
  449. package/dist/vite/plugin-docs.js.map +1 -1
  450. package/dist/vite/plugin-frontmatter.js +3 -5
  451. package/dist/vite/plugin-frontmatter.js.map +1 -1
  452. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  453. package/dist/vite/plugin-markdown-export.js +140 -0
  454. package/dist/vite/plugin-markdown-export.js.map +1 -0
  455. package/dist/vite/plugin-mdx.d.ts +1 -1
  456. package/dist/vite/plugin-mdx.js +39 -29
  457. package/dist/vite/plugin-mdx.js.map +1 -1
  458. package/dist/vite/plugin-navigation.js +4 -0
  459. package/dist/vite/plugin-navigation.js.map +1 -1
  460. package/dist/vite/plugin-theme.js +10 -1
  461. package/dist/vite/plugin-theme.js.map +1 -1
  462. package/dist/vite/plugin.js +2 -0
  463. package/dist/vite/plugin.js.map +1 -1
  464. package/dist/vite/prerender/prerender.js +38 -23
  465. package/dist/vite/prerender/prerender.js.map +1 -1
  466. package/dist/vite/prerender/utils.d.ts +2 -0
  467. package/dist/vite/prerender/utils.js +24 -0
  468. package/dist/vite/prerender/utils.js.map +1 -0
  469. package/dist/vite/prerender/worker.js +3 -0
  470. package/dist/vite/prerender/worker.js.map +1 -1
  471. package/dist/vite/zuplo.d.ts +13 -0
  472. package/dist/vite/zuplo.js +15 -0
  473. package/dist/vite/zuplo.js.map +1 -0
  474. package/lib/ActionButton-BSM2oNHF.js +25 -0
  475. package/lib/ActionButton-BSM2oNHF.js.map +1 -0
  476. package/lib/Button-IOAeVaIH.js +54 -0
  477. package/lib/Button-IOAeVaIH.js.map +1 -0
  478. package/lib/{Card-hTy9PAnh.js → Card-KFniaZn5.js} +2 -2
  479. package/lib/{Card-hTy9PAnh.js.map → Card-KFniaZn5.js.map} +1 -1
  480. package/lib/{CategoryHeading-BGCNu3VK.js → CategoryHeading-DhmodDcq.js} +2 -2
  481. package/lib/{CategoryHeading-BGCNu3VK.js.map → CategoryHeading-DhmodDcq.js.map} +1 -1
  482. package/lib/ClaudeLogo-DgjivS8A.js +69 -0
  483. package/lib/ClaudeLogo-DgjivS8A.js.map +1 -0
  484. package/lib/{Command-TEBTONf1.js → Command-BpT1iBE6.js} +26 -26
  485. package/lib/Command-BpT1iBE6.js.map +1 -0
  486. package/lib/Dialog-BQciPiHN.js +144 -0
  487. package/lib/Dialog-BQciPiHN.js.map +1 -0
  488. package/lib/{Drawer-DM9wJUC6.js → Drawer-BRMcpfuF.js} +7 -7
  489. package/lib/Drawer-BRMcpfuF.js.map +1 -0
  490. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  491. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  492. package/lib/Frame-DxlznfVd.js +205 -0
  493. package/lib/Frame-DxlznfVd.js.map +1 -0
  494. package/lib/IndexingDialog-DZWj_3cU.js +100 -0
  495. package/lib/IndexingDialog-DZWj_3cU.js.map +1 -0
  496. package/lib/Input-D-kqEQ5M.js +115 -0
  497. package/lib/Input-D-kqEQ5M.js.map +1 -0
  498. package/lib/MdxPage-BL-HbZrv.js +210 -0
  499. package/lib/MdxPage-BL-HbZrv.js.map +1 -0
  500. package/lib/Mermaid-BjSczjLW.js +102 -0
  501. package/lib/Mermaid-BjSczjLW.js.map +1 -0
  502. package/lib/{OAuthErrorPage-BbI9XJWR.js → OAuthErrorPage-DQtg28Go.js} +22 -23
  503. package/lib/{OAuthErrorPage-BbI9XJWR.js.map → OAuthErrorPage-DQtg28Go.js.map} +1 -1
  504. package/lib/OasProvider--qcZwrKS.js +40 -0
  505. package/lib/OasProvider--qcZwrKS.js.map +1 -0
  506. package/lib/OperationList-CSJYzxQY.js +5819 -0
  507. package/lib/OperationList-CSJYzxQY.js.map +1 -0
  508. package/lib/RouteGuard-D0f743SM.js +77 -0
  509. package/lib/RouteGuard-D0f743SM.js.map +1 -0
  510. package/lib/{SchemaList-BcJyi2sR.js → SchemaList-DtyuDrQA.js} +30 -29
  511. package/lib/SchemaList-DtyuDrQA.js.map +1 -0
  512. package/lib/SchemaView-G-SVXxAG.js +435 -0
  513. package/lib/SchemaView-G-SVXxAG.js.map +1 -0
  514. package/lib/Secret-BxGpIhDP.js +243 -0
  515. package/lib/Secret-BxGpIhDP.js.map +1 -0
  516. package/lib/Separator-CTPSeW1S.js +27 -0
  517. package/lib/Separator-CTPSeW1S.js.map +1 -0
  518. package/lib/SignUp-CDl7bQj3.js +50 -0
  519. package/lib/SignUp-CDl7bQj3.js.map +1 -0
  520. package/lib/{Spinner-Cf6E803I.js → Spinner-CI6bRyZw.js} +2 -2
  521. package/lib/{Spinner-Cf6E803I.js.map → Spinner-CI6bRyZw.js.map} +1 -1
  522. package/lib/{SyntaxHighlight-Cqh6cwC3.js → SyntaxHighlight-Dgd0AaaX.js} +1585 -1492
  523. package/lib/SyntaxHighlight-Dgd0AaaX.js.map +1 -0
  524. package/lib/{Toc-Zzozy3eB.js → Toc-D_Rj4jVx.js} +6 -6
  525. package/lib/Toc-D_Rj4jVx.js.map +1 -0
  526. package/lib/ZudokuContext-DNHMZfcP.js +1508 -0
  527. package/lib/ZudokuContext-DNHMZfcP.js.map +1 -0
  528. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  529. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  530. package/lib/c-B-NUhs61.js +46 -0
  531. package/lib/c-B-NUhs61.js.map +1 -0
  532. package/lib/chunk-PVWAREVJ-ClM0m2aJ.js +7965 -0
  533. package/lib/chunk-PVWAREVJ-ClM0m2aJ.js.map +1 -0
  534. package/lib/{circular-CokAagii.js → circular-BxODTa7z.js} +6365 -5958
  535. package/lib/circular-BxODTa7z.js.map +1 -0
  536. package/lib/commonlisp-De080z23.js +28 -0
  537. package/lib/commonlisp-De080z23.js.map +1 -0
  538. package/lib/cpp-79Paht7T.js +53 -0
  539. package/lib/cpp-79Paht7T.js.map +1 -0
  540. package/lib/createServer-BpreIXp6.js +16693 -0
  541. package/lib/createServer-BpreIXp6.js.map +1 -0
  542. package/lib/createVariantComponent-CQVt-H3r.js +18 -0
  543. package/lib/createVariantComponent-CQVt-H3r.js.map +1 -0
  544. package/lib/{csharp-rrJEDRrV.js → csharp-D8MIL50B.js} +2 -2
  545. package/lib/{csharp-rrJEDRrV.js.map → csharp-D8MIL50B.js.map} +1 -1
  546. package/lib/{css-Dpk9bCql.js → css-Bt6hr1td.js} +2 -2
  547. package/lib/{css-Dpk9bCql.js.map → css-Bt6hr1td.js.map} +1 -1
  548. package/lib/dart-B0vy1jWB.js +60 -0
  549. package/lib/dart-B0vy1jWB.js.map +1 -0
  550. package/lib/elixir-Ds8r0sF8.js +25 -0
  551. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  552. package/lib/{errors-CQLQ5016.js → errors-DliW1dED.js} +4 -4
  553. package/lib/{errors-CQLQ5016.js.map → errors-DliW1dED.js.map} +1 -1
  554. package/lib/firebase-D4tbaCYB.js +7612 -0
  555. package/lib/firebase-D4tbaCYB.js.map +1 -0
  556. package/lib/{go-D8SJIQ0Z.js → go-D2VsmIOS.js} +2 -2
  557. package/lib/{go-D8SJIQ0Z.js.map → go-D2VsmIOS.js.map} +1 -1
  558. package/lib/{graphql-aeVKJNa2.js → graphql-BtA6M4m5.js} +2 -2
  559. package/lib/{graphql-aeVKJNa2.js.map → graphql-BtA6M4m5.js.map} +1 -1
  560. package/lib/hook-CHw_R_xu.js +52 -0
  561. package/lib/hook-CHw_R_xu.js.map +1 -0
  562. package/lib/{html-D_7om-nA.js → html-MGnI2uzP.js} +2 -2
  563. package/lib/{html-D_7om-nA.js.map → html-MGnI2uzP.js.map} +1 -1
  564. package/lib/{index-CF3Ls1wd.js → index-1TbL0HXQ.js} +166 -50
  565. package/lib/index-1TbL0HXQ.js.map +1 -0
  566. package/lib/index-9MxNUgg4.js +3675 -0
  567. package/lib/index-9MxNUgg4.js.map +1 -0
  568. package/lib/{ErrorAlert-Diu_w5Po.js → index-CboxZOVW.js} +5432 -4439
  569. package/lib/index-CboxZOVW.js.map +1 -0
  570. package/lib/index-CrcNWbel.js.map +1 -1
  571. package/lib/index-DXXZDuSJ.js +133 -0
  572. package/lib/index-DXXZDuSJ.js.map +1 -0
  573. package/lib/index.esm-BYObtETB.js +1294 -0
  574. package/lib/index.esm-BYObtETB.js.map +1 -0
  575. package/lib/{index.esm-BnYHxCYC.js → index.esm-DtzT_KoE.js} +20 -20
  576. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-DtzT_KoE.js.map} +1 -1
  577. package/lib/index.esm-ti5zvZS_.js +34 -0
  578. package/lib/index.esm-ti5zvZS_.js.map +1 -0
  579. package/lib/{invariant-Bm-FVUQE.js → invariant-CGOLuIIz.js} +3 -3
  580. package/lib/{invariant-Bm-FVUQE.js.map → invariant-CGOLuIIz.js.map} +1 -1
  581. package/lib/{java-DUh-EL8n.js → java-CVLzHfb1.js} +2 -2
  582. package/lib/{java-DUh-EL8n.js.map → java-CVLzHfb1.js.map} +1 -1
  583. package/lib/{javascript-CrY8dcGu.js → javascript-CcmIpL4G.js} +2 -2
  584. package/lib/{javascript-CrY8dcGu.js.map → javascript-CcmIpL4G.js.map} +1 -1
  585. package/lib/{json-DLK2_sdf.js → json-4AyP4uiY.js} +2 -2
  586. package/lib/{json-DLK2_sdf.js.map → json-4AyP4uiY.js.map} +1 -1
  587. package/lib/{jsx-runtime-DywqP_6a.js → jsx-runtime-BzflLqGi.js} +109 -111
  588. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  589. package/lib/{kotlin-rJMOGl7D.js → kotlin-v2plddBQ.js} +2 -2
  590. package/lib/{kotlin-rJMOGl7D.js.map → kotlin-v2plddBQ.js.map} +1 -1
  591. package/lib/{markdown-BD9bIU5J.js → markdown-DYGWCmGQ.js} +2 -2
  592. package/lib/{markdown-BD9bIU5J.js.map → markdown-DYGWCmGQ.js.map} +1 -1
  593. package/lib/{mdx-G25UCvf3.js → mdx-CHwYvXd4.js} +2 -2
  594. package/lib/{mdx-G25UCvf3.js.map → mdx-CHwYvXd4.js.map} +1 -1
  595. package/lib/{mutation-DvBlWyBr.js → mutation-DMHWqmFp.js} +2 -2
  596. package/lib/{mutation-DvBlWyBr.js.map → mutation-DMHWqmFp.js.map} +1 -1
  597. package/lib/{objectivec-DDpj0aWX.js → objectivec-HZY8shkd.js} +2 -2
  598. package/lib/{objectivec-DDpj0aWX.js.map → objectivec-HZY8shkd.js.map} +1 -1
  599. package/lib/ocaml-DqsdDdwb.js +52 -0
  600. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  601. package/lib/{php-BeG18bSy.js → php-rQXzo7K_.js} +2 -2
  602. package/lib/{php-BeG18bSy.js.map → php-rQXzo7K_.js.map} +1 -1
  603. package/lib/powershell-CQje9pm1.js +39 -0
  604. package/lib/powershell-CQje9pm1.js.map +1 -0
  605. package/lib/{python-BaF2byD-.js → python-QIQAE5Ei.js} +2 -2
  606. package/lib/{python-BaF2byD-.js.map → python-QIQAE5Ei.js.map} +1 -1
  607. package/lib/{react-CQvDN20M.js → react-DHpVpxRv.js} +2 -2
  608. package/lib/{react-CQvDN20M.js.map → react-DHpVpxRv.js.map} +1 -1
  609. package/lib/{ruby-CmxRVHMR.js → ruby-B2dU8Ny5.js} +2 -2
  610. package/lib/{ruby-CmxRVHMR.js.map → ruby-B2dU8Ny5.js.map} +1 -1
  611. package/lib/{rust-IfSC62c5.js → rust-DYnLHAi2.js} +2 -2
  612. package/lib/{rust-IfSC62c5.js.map → rust-DYnLHAi2.js.map} +1 -1
  613. package/lib/scala-CeKInBR8.js +25 -0
  614. package/lib/scala-CeKInBR8.js.map +1 -0
  615. package/lib/{shell-BFu0M6m4.js → shell-HUv9oVtp.js} +2 -2
  616. package/lib/{shell-BFu0M6m4.js.map → shell-HUv9oVtp.js.map} +1 -1
  617. package/lib/{swift-DckbsN4v.js → swift-B4z6ig1Z.js} +2 -2
  618. package/lib/{swift-DckbsN4v.js.map → swift-B4z6ig1Z.js.map} +1 -1
  619. package/lib/{toml-BJsCc8TC.js → toml-Co9mpdct.js} +2 -2
  620. package/lib/{toml-BJsCc8TC.js.map → toml-Co9mpdct.js.map} +1 -1
  621. package/lib/{typescript-7qOVMjOC.js → typescript-C26xdBDC.js} +2 -2
  622. package/lib/{typescript-7qOVMjOC.js.map → typescript-C26xdBDC.js.map} +1 -1
  623. package/lib/ui/Accordion.js +1 -1
  624. package/lib/ui/ActionButton.js +3 -3
  625. package/lib/ui/Alert.js +1 -1
  626. package/lib/ui/AlertDialog.js +1 -1
  627. package/lib/ui/Badge.js +28 -14
  628. package/lib/ui/Badge.js.map +1 -1
  629. package/lib/ui/Breadcrumb.js +1 -1
  630. package/lib/ui/Button.js +28 -25
  631. package/lib/ui/Button.js.map +1 -1
  632. package/lib/ui/ButtonGroup.js +77 -0
  633. package/lib/ui/ButtonGroup.js.map +1 -0
  634. package/lib/ui/Callout.js +19 -19
  635. package/lib/ui/Callout.js.map +1 -1
  636. package/lib/ui/Card.js +1 -1
  637. package/lib/ui/Carousel.js +1 -1
  638. package/lib/ui/Carousel.js.map +1 -1
  639. package/lib/ui/Checkbox.js +29 -26
  640. package/lib/ui/Checkbox.js.map +1 -1
  641. package/lib/ui/CodeBlock.js +217 -7
  642. package/lib/ui/CodeBlock.js.map +1 -1
  643. package/lib/ui/Collapsible.js +32 -5
  644. package/lib/ui/Collapsible.js.map +1 -1
  645. package/lib/ui/Command.js +5 -5
  646. package/lib/ui/Command.js.map +1 -1
  647. package/lib/ui/Dialog.js +135 -105
  648. package/lib/ui/Dialog.js.map +1 -1
  649. package/lib/ui/Drawer.js +3 -3
  650. package/lib/ui/DropdownMenu.js +227 -140
  651. package/lib/ui/DropdownMenu.js.map +1 -1
  652. package/lib/ui/EmbeddedCodeBlock.js +36 -32
  653. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  654. package/lib/ui/Form.js +2 -2
  655. package/lib/ui/Frame.js +81 -0
  656. package/lib/ui/Frame.js.map +1 -0
  657. package/lib/ui/HoverCard.js +1 -1
  658. package/lib/ui/Input.js +1 -1
  659. package/lib/ui/Item.js +188 -0
  660. package/lib/ui/Item.js.map +1 -0
  661. package/lib/ui/Kbd.js +32 -0
  662. package/lib/ui/Kbd.js.map +1 -0
  663. package/lib/ui/Label.js +1 -1
  664. package/lib/ui/NativeSelect.js +57 -0
  665. package/lib/ui/NativeSelect.js.map +1 -0
  666. package/lib/ui/Pagination.js +1 -1
  667. package/lib/ui/Popover.js +1 -1
  668. package/lib/ui/Progress.js +1 -1
  669. package/lib/ui/RadioGroup.js +1 -1
  670. package/lib/ui/ReactComponentDoc.js +14 -14
  671. package/lib/ui/ReactComponentDoc.js.map +1 -1
  672. package/lib/ui/ScrollArea.js +1 -1
  673. package/lib/ui/Secret.js +64 -54
  674. package/lib/ui/Secret.js.map +1 -1
  675. package/lib/ui/Select.js +166 -116
  676. package/lib/ui/Select.js.map +1 -1
  677. package/lib/ui/Separator.js +27 -0
  678. package/lib/ui/Separator.js.map +1 -0
  679. package/lib/ui/Skeleton.js +1 -1
  680. package/lib/ui/Slider.js +1 -1
  681. package/lib/ui/Stepper.js +1 -1
  682. package/lib/ui/Switch.js +1 -1
  683. package/lib/ui/SyntaxHighlight.js +5 -5
  684. package/lib/ui/Tabs.js +11 -11
  685. package/lib/ui/Textarea.js +1 -1
  686. package/lib/ui/Toggle.js +1 -1
  687. package/lib/ui/ToggleGroup.js +1 -1
  688. package/lib/ui/Tooltip.js +55 -28
  689. package/lib/ui/Tooltip.js.map +1 -1
  690. package/lib/ui/Value.js +1 -1
  691. package/lib/{xml-DAaTIkBX.js → xml-BQOOC04j.js} +2 -2
  692. package/lib/{xml-DAaTIkBX.js.map → xml-BQOOC04j.js.map} +1 -1
  693. package/lib/{yaml-DUi-dbfu.js → yaml-BGsJItKv.js} +2 -2
  694. package/lib/{yaml-DUi-dbfu.js.map → yaml-BGsJItKv.js.map} +1 -1
  695. package/lib/zig-CUV2sTct.js +35 -0
  696. package/lib/zig-CUV2sTct.js.map +1 -0
  697. package/lib/zudoku.__internal.js +1082 -951
  698. package/lib/zudoku.__internal.js.map +1 -1
  699. package/lib/zudoku.auth-auth0.js +24 -23
  700. package/lib/zudoku.auth-auth0.js.map +1 -1
  701. package/lib/zudoku.auth-azureb2c.js +34 -35
  702. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  703. package/lib/zudoku.auth-clerk.js +41 -41
  704. package/lib/zudoku.auth-clerk.js.map +1 -1
  705. package/lib/zudoku.auth-firebase.js +10 -0
  706. package/lib/zudoku.auth-firebase.js.map +1 -0
  707. package/lib/zudoku.auth-openid.js +105 -109
  708. package/lib/zudoku.auth-openid.js.map +1 -1
  709. package/lib/zudoku.auth-supabase.js +108 -52
  710. package/lib/zudoku.auth-supabase.js.map +1 -1
  711. package/lib/zudoku.components.js +22 -23
  712. package/lib/zudoku.components.js.map +1 -1
  713. package/lib/zudoku.hooks.js +11 -24
  714. package/lib/zudoku.hooks.js.map +1 -1
  715. package/lib/zudoku.icons.js +1 -1
  716. package/lib/zudoku.mermaid.js +10 -0
  717. package/lib/zudoku.mermaid.js.map +1 -0
  718. package/lib/zudoku.plugin-api-catalog.js +31 -33
  719. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  720. package/lib/zudoku.plugin-api-keys.js +573 -615
  721. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  722. package/lib/zudoku.plugin-custom-pages.js +1 -1
  723. package/lib/zudoku.plugin-markdown.js +10 -9
  724. package/lib/zudoku.plugin-markdown.js.map +1 -1
  725. package/lib/zudoku.plugin-openapi.js +7 -8
  726. package/lib/zudoku.plugin-openapi.js.map +1 -1
  727. package/lib/zudoku.plugin-redirect.js +3 -3
  728. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  729. package/lib/zudoku.plugin-search-pagefind.js +185 -228
  730. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  731. package/lib/zudoku.plugins.js.map +1 -1
  732. package/lib/zudoku.router.js +2502 -118
  733. package/lib/zudoku.router.js.map +1 -1
  734. package/package.json +94 -66
  735. package/src/app/entry.server.tsx +16 -6
  736. package/src/app/main.css +61 -9
  737. package/src/app/main.tsx +5 -1
  738. package/src/app/sentry.ts +1 -1
  739. package/src/lib/assets/language-icons/c.tsx +31 -0
  740. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  741. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  742. package/src/lib/assets/language-icons/dart.tsx +39 -0
  743. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  744. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  745. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  746. package/src/lib/assets/language-icons/scala.tsx +19 -0
  747. package/src/lib/assets/language-icons/zig.tsx +32 -0
  748. package/src/lib/auth/issuer.ts +3 -0
  749. package/src/lib/authentication/authentication.ts +29 -5
  750. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  751. package/src/lib/authentication/components/SignIn.tsx +10 -5
  752. package/src/lib/authentication/components/SignOut.tsx +7 -6
  753. package/src/lib/authentication/components/SignUp.tsx +8 -8
  754. package/src/lib/authentication/hook.ts +37 -10
  755. package/src/lib/authentication/providers/auth0.tsx +14 -4
  756. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  757. package/src/lib/authentication/providers/clerk.tsx +9 -2
  758. package/src/lib/authentication/providers/firebase.tsx +376 -0
  759. package/src/lib/authentication/providers/openid.tsx +20 -15
  760. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  761. package/src/lib/authentication/providers/supabase.tsx +55 -44
  762. package/src/lib/authentication/state.ts +3 -23
  763. package/src/lib/authentication/ui/EmailVerificationUi.tsx +129 -0
  764. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +477 -0
  765. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  766. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  767. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  768. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  769. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  770. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  771. package/src/lib/authentication/utils/relativeRedirectUrl.ts +12 -0
  772. package/src/lib/components/Autocomplete.tsx +11 -2
  773. package/src/lib/components/BuildCheck.tsx +12 -10
  774. package/src/lib/components/Heading.tsx +2 -6
  775. package/src/lib/components/LanguageIcon.tsx +45 -0
  776. package/src/lib/components/Layout.tsx +3 -2
  777. package/src/lib/components/Main.tsx +1 -1
  778. package/src/lib/components/Mermaid.tsx +68 -0
  779. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  780. package/src/lib/components/Zudoku.tsx +7 -10
  781. package/src/lib/components/cache.ts +9 -5
  782. package/src/lib/components/context/ZudokuContext.ts +11 -2
  783. package/src/lib/components/navigation/NavigationItem.tsx +8 -21
  784. package/src/lib/components/navigation/Toc.tsx +3 -3
  785. package/src/lib/core/RouteGuard.tsx +42 -22
  786. package/src/lib/core/ZudokuContext.ts +3 -0
  787. package/src/lib/core/plugins.ts +2 -2
  788. package/src/lib/errors/ErrorAlert.tsx +1 -1
  789. package/src/lib/errors/ErrorMessage.tsx +38 -0
  790. package/src/lib/errors/RouterError.tsx +7 -2
  791. package/src/lib/oas/graphql/index.ts +26 -3
  792. package/src/lib/oas/parser/index.ts +10 -3
  793. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  794. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +36 -476
  795. package/src/lib/plugins/api-keys/index.tsx +35 -21
  796. package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
  797. package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +64 -0
  798. package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +124 -0
  799. package/src/lib/plugins/markdown/MdxPage.tsx +125 -8
  800. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  801. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  802. package/src/lib/plugins/markdown/index.tsx +5 -7
  803. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  804. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  805. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  806. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  807. package/src/lib/plugins/openapi/MCPEndpoint.tsx +8 -28
  808. package/src/lib/plugins/openapi/OasProvider.tsx +30 -17
  809. package/src/lib/plugins/openapi/OperationList.tsx +60 -24
  810. package/src/lib/plugins/openapi/OperationListItem.tsx +25 -17
  811. package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
  812. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  813. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  814. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +0 -7
  815. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  816. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  817. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  818. package/src/lib/plugins/openapi/Sidecar.tsx +155 -74
  819. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  820. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  821. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  822. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  823. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  824. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  825. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +1 -0
  826. package/src/lib/plugins/openapi/graphql/gql.ts +4 -3
  827. package/src/lib/plugins/openapi/graphql/graphql.ts +20 -3
  828. package/src/lib/plugins/openapi/index.tsx +26 -37
  829. package/src/lib/plugins/openapi/interfaces.ts +29 -7
  830. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  831. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  832. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  833. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  834. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  835. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  836. package/src/lib/plugins/openapi/playground/Playground.tsx +89 -36
  837. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +22 -32
  838. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  839. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  840. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  841. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  842. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  843. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  844. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  845. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +124 -56
  846. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  847. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  848. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  849. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  850. package/src/lib/plugins/openapi/schema/SchemaView.tsx +100 -60
  851. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  852. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  853. package/src/lib/plugins/openapi/schema/utils.ts +5 -2
  854. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +29 -1
  855. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  856. package/src/lib/plugins/openapi/util/getRoutes.tsx +35 -3
  857. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  858. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  859. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  860. package/src/lib/shiki.ts +46 -14
  861. package/src/lib/ui/Badge.tsx +21 -12
  862. package/src/lib/ui/Button.tsx +11 -9
  863. package/src/lib/ui/ButtonGroup.tsx +82 -0
  864. package/src/lib/ui/Callout.tsx +10 -5
  865. package/src/lib/ui/Carousel.tsx +0 -1
  866. package/src/lib/ui/Checkbox.tsx +23 -24
  867. package/src/lib/ui/CodeBlock.tsx +3 -4
  868. package/src/lib/ui/Collapsible.tsx +26 -4
  869. package/src/lib/ui/Command.tsx +3 -3
  870. package/src/lib/ui/Dialog.tsx +112 -106
  871. package/src/lib/ui/DropdownMenu.tsx +226 -170
  872. package/src/lib/ui/EmbeddedCodeBlock.tsx +24 -19
  873. package/src/lib/ui/Frame.tsx +81 -0
  874. package/src/lib/ui/Item.tsx +192 -0
  875. package/src/lib/ui/Kbd.tsx +28 -0
  876. package/src/lib/ui/NativeSelect.tsx +47 -0
  877. package/src/lib/ui/ReactComponentDoc.tsx +17 -17
  878. package/src/lib/ui/Secret.tsx +44 -27
  879. package/src/lib/ui/Select.tsx +153 -126
  880. package/src/lib/ui/Separator.tsx +25 -0
  881. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  882. package/src/lib/ui/Tooltip.tsx +54 -32
  883. package/src/lib/util/MdxComponents.tsx +5 -5
  884. package/src/lib/util/createVariantComponent.tsx +31 -5
  885. package/src/lib/util/flattenAllOf.test.ts +689 -0
  886. package/src/lib/util/flattenAllOf.ts +122 -0
  887. package/src/lib/util/pastellize.ts +4 -4
  888. package/src/lib/util/readFrontmatter.ts +13 -0
  889. package/src/lib/util/syncZustandState.ts +22 -0
  890. package/src/shiki/langs/hurl.js +1 -0
  891. package/src/shiki/langs/kdl.js +1 -0
  892. package/src/shiki/langs/markdown-nix.js +1 -0
  893. package/src/shiki/langs/openscad.js +1 -0
  894. package/src/shiki/langs/pkl.js +1 -0
  895. package/src/shiki/langs/rosmsg.js +1 -0
  896. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  897. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  898. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  899. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  900. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  901. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  902. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  903. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  904. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  905. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  906. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  907. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  908. package/dist/vite/create-pagefind-index.d.ts +0 -4
  909. package/dist/vite/create-pagefind-index.js +0 -12
  910. package/dist/vite/create-pagefind-index.js.map +0 -1
  911. package/lib/Button-DTDRi4CT.js +0 -51
  912. package/lib/Button-DTDRi4CT.js.map +0 -1
  913. package/lib/CodeBlock-i0BM_QFf.js +0 -176
  914. package/lib/CodeBlock-i0BM_QFf.js.map +0 -1
  915. package/lib/Command-TEBTONf1.js.map +0 -1
  916. package/lib/Dialog-VIMic7xI.js +0 -114
  917. package/lib/Dialog-VIMic7xI.js.map +0 -1
  918. package/lib/Drawer-DM9wJUC6.js.map +0 -1
  919. package/lib/ErrorAlert-Diu_w5Po.js.map +0 -1
  920. package/lib/MdxPage-CDs_vtjC.js +0 -111
  921. package/lib/MdxPage-CDs_vtjC.js.map +0 -1
  922. package/lib/OasProvider-D3Cjaaxr.js +0 -36
  923. package/lib/OasProvider-D3Cjaaxr.js.map +0 -1
  924. package/lib/OperationList-BH4cFU-0.js +0 -5454
  925. package/lib/OperationList-BH4cFU-0.js.map +0 -1
  926. package/lib/Pagination-BKphudjx.js +0 -37
  927. package/lib/Pagination-BKphudjx.js.map +0 -1
  928. package/lib/RouteGuard-nFlgfJqk.js +0 -56
  929. package/lib/RouteGuard-nFlgfJqk.js.map +0 -1
  930. package/lib/RouterError-CnS5hYUh.js +0 -41
  931. package/lib/RouterError-CnS5hYUh.js.map +0 -1
  932. package/lib/SchemaList-BcJyi2sR.js.map +0 -1
  933. package/lib/SchemaView-DnTxmN15.js +0 -458
  934. package/lib/SchemaView-DnTxmN15.js.map +0 -1
  935. package/lib/Select-BPQp7Yqx.js +0 -273
  936. package/lib/Select-BPQp7Yqx.js.map +0 -1
  937. package/lib/SignUp-tBtnwuXL.js +0 -56
  938. package/lib/SignUp-tBtnwuXL.js.map +0 -1
  939. package/lib/SyntaxHighlight-Cqh6cwC3.js.map +0 -1
  940. package/lib/Toc-Zzozy3eB.js.map +0 -1
  941. package/lib/ZudokuContext-3cqbu21w.js +0 -1285
  942. package/lib/ZudokuContext-3cqbu21w.js.map +0 -1
  943. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +0 -9204
  944. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +0 -1
  945. package/lib/circular-CokAagii.js.map +0 -1
  946. package/lib/createServer-DW4hIUUB.js +0 -12499
  947. package/lib/createServer-DW4hIUUB.js.map +0 -1
  948. package/lib/hook-ChlxzJwv.js +0 -247
  949. package/lib/hook-ChlxzJwv.js.map +0 -1
  950. package/lib/index-7FEjMkZ_.js +0 -1058
  951. package/lib/index-7FEjMkZ_.js.map +0 -1
  952. package/lib/index-CF3Ls1wd.js.map +0 -1
  953. package/lib/index-QwGs6inR.js +0 -3397
  954. package/lib/index-QwGs6inR.js.map +0 -1
  955. package/lib/index.esm-CdzlRw50.js +0 -1254
  956. package/lib/index.esm-CdzlRw50.js.map +0 -1
  957. package/lib/jsx-runtime-DywqP_6a.js.map +0 -1
  958. package/lib/useExposedProps-BH9aq4MD.js +0 -113
  959. package/lib/useExposedProps-BH9aq4MD.js.map +0 -1
  960. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  961. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  962. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  963. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -1,85 +1,141 @@
1
- import { createClient as l } from "@supabase/supabase-js";
2
- import { C as g, A as p } from "./errors-CQLQ5016.js";
3
- import { u as r } from "./hook-ChlxzJwv.js";
4
- class f extends g {
1
+ import { j as i } from "./jsx-runtime-BzflLqGi.js";
2
+ import { createClient as h } from "@supabase/supabase-js";
3
+ import { C as m, A as g } from "./errors-DliW1dED.js";
4
+ import { S as f } from "./SignUp-CDl7bQj3.js";
5
+ import { u } from "./ZudokuContext-DNHMZfcP.js";
6
+ import { Auth as v } from "@supabase/auth-ui-react";
7
+ import { ThemeSupa as S } from "@supabase/auth-ui-shared";
8
+ import { b as A } from "./chunk-PVWAREVJ-ClM0m2aJ.js";
9
+ import { H as T } from "./index-CboxZOVW.js";
10
+ const d = ({
11
+ client: s,
12
+ config: e,
13
+ view: t = "sign_in"
14
+ }) => {
15
+ const [r] = A(), a = r.get("redirectTo"), n = e.provider ? [e.provider] : e.providers, o = e.basePath ?? "/", c = a ?? e.redirectToAfterSignUp ?? o, l = a ?? e.redirectToAfterSignIn ?? o, p = a ?? e.redirectToAfterSignOut ?? o;
16
+ return /* @__PURE__ */ i.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ i.jsxs("div", { className: "max-w-md w-full mt-10", children: [
17
+ /* @__PURE__ */ i.jsx(T, { level: 1, children: t === "sign_in" ? "Sign in" : "Sign up" }),
18
+ /* @__PURE__ */ i.jsx(
19
+ v,
20
+ {
21
+ view: t,
22
+ redirectToAfterSignIn: l,
23
+ redirectToAfterSignUp: c,
24
+ redirectToAfterSignOut: p,
25
+ supabaseClient: s,
26
+ onlyThirdPartyProviders: e.onlyThirdPartyProviders,
27
+ appearance: {
28
+ theme: S,
29
+ variables: {
30
+ default: {
31
+ colors: {
32
+ dividerBackground: "var(--border)",
33
+ brand: "var(--primary)",
34
+ brandAccent: "hsla(from var(--primary) h s l / 0.8)",
35
+ brandButtonText: "var(--primary-foreground)",
36
+ defaultButtonBorder: "var(--border)",
37
+ inputBorder: "var(--border)",
38
+ inputText: "var(--foreground)",
39
+ inputBorderHover: "var(--accent)",
40
+ defaultButtonBackground: "var(--secondary)",
41
+ defaultButtonBackgroundHover: "var(--accent)"
42
+ },
43
+ radii: {
44
+ borderRadiusButton: "var(--radius)",
45
+ buttonBorderRadius: "var(--radius)",
46
+ inputBorderRadius: "var(--radius)"
47
+ }
48
+ }
49
+ }
50
+ },
51
+ providers: n,
52
+ redirectTo: e.redirectToAfterSignIn ?? "/"
53
+ }
54
+ )
55
+ ] }) });
56
+ };
57
+ class b extends m {
5
58
  client;
6
- provider;
7
- redirectToAfterSignUp;
8
- redirectToAfterSignIn;
9
- // biome-ignore lint/correctness/noUnusedPrivateClassMembers: Keep around
10
- redirectToAfterSignOut;
11
- constructor({
12
- supabaseUrl: e,
13
- supabaseKey: t,
14
- provider: i,
15
- redirectToAfterSignUp: c,
16
- redirectToAfterSignIn: u,
17
- redirectToAfterSignOut: d,
18
- basePath: h
19
- }) {
20
- super(), this.provider = i, this.client = l(e, t, {
59
+ config;
60
+ constructor(e) {
61
+ const { supabaseUrl: t, supabaseKey: r } = e;
62
+ super(), this.client = h(t, r, {
21
63
  auth: {
22
64
  autoRefreshToken: !0,
23
65
  persistSession: !0
24
66
  }
25
- });
26
- const s = h ?? "/";
27
- this.redirectToAfterSignUp = c ?? s, this.redirectToAfterSignIn = u ?? s, this.redirectToAfterSignOut = d ?? s, this.client.auth.onAuthStateChange(async (a, o) => {
28
- o && (a === "SIGNED_IN" || a === "TOKEN_REFRESHED") ? await this.updateUserState(o) : a === "SIGNED_OUT" && r.getState().setLoggedOut();
67
+ }), this.config = e, this.client.auth.onAuthStateChange(async (a, n) => {
68
+ n && (a === "SIGNED_IN" || a === "TOKEN_REFRESHED") ? await this.updateUserState(n) : a === "SIGNED_OUT" && u.getState().setLoggedOut();
29
69
  });
30
70
  }
31
71
  async updateUserState(e) {
32
- const { user: t } = e, i = {
72
+ const { user: t } = e, r = {
33
73
  sub: t.id,
34
74
  email: t.email,
35
75
  name: t.user_metadata.full_name || t.user_metadata.name,
36
76
  emailVerified: t.email_confirmed_at != null,
37
77
  pictureUrl: t.user_metadata.avatar_url
38
78
  };
39
- r.getState().setLoggedIn({
40
- profile: i,
79
+ u.getState().setLoggedIn({
80
+ profile: r,
41
81
  providerData: { session: e }
42
82
  });
43
83
  }
44
84
  async getAccessToken() {
45
85
  const { data: e, error: t } = await this.client.auth.getSession();
46
86
  if (t || !e.session)
47
- throw new p("User is not authenticated");
87
+ throw new g("User is not authenticated");
48
88
  return e.session.access_token;
49
89
  }
50
90
  async signRequest(e) {
51
91
  const t = await this.getAccessToken();
52
92
  return e.headers.set("Authorization", `Bearer ${t}`), e;
53
93
  }
54
- signUp = async ({ redirectTo: e }) => {
55
- const t = e ?? this.redirectToAfterSignUp;
56
- await this.client.auth.signInWithOAuth({
57
- provider: this.provider,
58
- options: {
59
- redirectTo: window.location.origin + t
60
- }
61
- });
94
+ signUp = async ({ navigate: e }, { redirectTo: t }) => {
95
+ e(
96
+ t ? `/signup?redirectTo=${encodeURIComponent(t)}` : "/signup"
97
+ );
62
98
  };
63
- signIn = async ({ redirectTo: e }) => {
64
- const t = e ?? this.redirectToAfterSignIn;
65
- await this.client.auth.signInWithOAuth({
66
- provider: this.provider,
67
- options: {
68
- redirectTo: window.location.origin + t,
69
- queryParams: {
70
- access_type: "offline",
71
- prompt: "consent"
72
- }
73
- }
74
- });
99
+ signIn = async ({ navigate: e }, { redirectTo: t }) => {
100
+ e(
101
+ t ? `/signin?redirectTo=${encodeURIComponent(t)}` : "/signin"
102
+ );
75
103
  };
104
+ getRoutes = () => [
105
+ {
106
+ path: "/signin",
107
+ element: /* @__PURE__ */ i.jsx(
108
+ d,
109
+ {
110
+ view: "sign_in",
111
+ client: this.client,
112
+ config: this.config
113
+ }
114
+ )
115
+ },
116
+ {
117
+ path: "/signup",
118
+ element: /* @__PURE__ */ i.jsx(
119
+ d,
120
+ {
121
+ view: "sign_up",
122
+ client: this.client,
123
+ config: this.config
124
+ }
125
+ )
126
+ },
127
+ {
128
+ path: "/signout",
129
+ element: /* @__PURE__ */ i.jsx(f, {})
130
+ }
131
+ ];
76
132
  signOut = async () => {
77
133
  await new Promise((e) => {
78
- const { data: t } = this.client.auth.onAuthStateChange(async (i) => {
79
- i === "SIGNED_OUT" && (t.subscription.unsubscribe(), e());
134
+ const { data: t } = this.client.auth.onAuthStateChange(async (r) => {
135
+ r === "SIGNED_OUT" && (t.subscription.unsubscribe(), e());
80
136
  });
81
137
  this.client.auth.signOut();
82
- }), r.setState({
138
+ }), u.setState({
83
139
  isAuthenticated: !1,
84
140
  isPending: !1,
85
141
  profile: void 0,
@@ -91,8 +147,8 @@ class f extends g {
91
147
  !t && e.session && await this.updateUserState(e.session);
92
148
  };
93
149
  }
94
- const T = (n) => new f(n);
150
+ const j = (s) => new b(s);
95
151
  export {
96
- T as default
152
+ j as default
97
153
  };
98
154
  //# sourceMappingURL=zudoku.auth-supabase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.auth-supabase.js","sources":["../src/lib/authentication/providers/supabase.tsx"],"sourcesContent":["import {\n createClient,\n type Provider,\n type Session,\n type SupabaseClient,\n} from \"@supabase/supabase-js\";\nimport type { SupabaseAuthenticationConfig } from \"../../../config/config.js\";\nimport { CoreAuthenticationPlugin } from \"../AuthenticationPlugin.js\";\nimport type {\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { AuthorizationError } from \"../errors.js\";\nimport { type UserProfile, useAuthState } from \"../state.js\";\n\nclass SupabaseAuthenticationProvider\n extends CoreAuthenticationPlugin\n implements AuthenticationPlugin\n{\n private readonly client: SupabaseClient;\n private readonly provider: Provider;\n private readonly redirectToAfterSignUp: string;\n private readonly redirectToAfterSignIn: string;\n // biome-ignore lint/correctness/noUnusedPrivateClassMembers: Keep around\n private readonly redirectToAfterSignOut: string;\n\n constructor({\n supabaseUrl,\n supabaseKey,\n provider,\n redirectToAfterSignUp,\n redirectToAfterSignIn,\n redirectToAfterSignOut,\n basePath,\n }: SupabaseAuthenticationConfig) {\n super();\n this.provider = provider;\n this.client = createClient(supabaseUrl, supabaseKey, {\n auth: {\n autoRefreshToken: true,\n persistSession: true,\n },\n });\n\n const root = basePath ?? \"/\";\n\n this.redirectToAfterSignUp = redirectToAfterSignUp ?? root;\n this.redirectToAfterSignIn = redirectToAfterSignIn ?? root;\n this.redirectToAfterSignOut = redirectToAfterSignOut ?? root;\n\n this.client.auth.onAuthStateChange(async (event, session) => {\n if (session && (event === \"SIGNED_IN\" || event === \"TOKEN_REFRESHED\")) {\n await this.updateUserState(session);\n } else if (event === \"SIGNED_OUT\") {\n useAuthState.getState().setLoggedOut();\n }\n });\n }\n\n private async updateUserState(session: Session) {\n const { user } = session;\n\n const profile: UserProfile = {\n sub: user.id,\n email: user.email,\n name: user.user_metadata.full_name || user.user_metadata.name,\n emailVerified: user.email_confirmed_at != null,\n pictureUrl: user.user_metadata.avatar_url,\n };\n\n useAuthState.getState().setLoggedIn({\n profile,\n providerData: { session },\n });\n }\n\n async getAccessToken(): Promise<string> {\n const { data, error } = await this.client.auth.getSession();\n\n if (error || !data.session) {\n throw new AuthorizationError(\"User is not authenticated\");\n }\n\n return data.session.access_token;\n }\n\n async signRequest(request: Request): Promise<Request> {\n const accessToken = await this.getAccessToken();\n request.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return request;\n }\n\n signUp = async ({ redirectTo }: { redirectTo?: string }) => {\n const finalRedirectTo = redirectTo ?? this.redirectToAfterSignUp;\n\n // Open Supabase Auth UI in a new window\n await this.client.auth.signInWithOAuth({\n provider: this.provider,\n options: {\n redirectTo: window.location.origin + finalRedirectTo,\n },\n });\n };\n\n signIn = async ({ redirectTo }: { redirectTo?: string }) => {\n const finalRedirectTo = redirectTo ?? this.redirectToAfterSignIn;\n\n await this.client.auth.signInWithOAuth({\n provider: this.provider,\n options: {\n redirectTo: window.location.origin + finalRedirectTo,\n queryParams: {\n access_type: \"offline\",\n prompt: \"consent\",\n },\n },\n });\n };\n\n signOut = async () => {\n await new Promise<void>((resolve) => {\n const { data } = this.client.auth.onAuthStateChange(async (event) => {\n if (event !== \"SIGNED_OUT\") return;\n data.subscription.unsubscribe();\n resolve();\n });\n void this.client.auth.signOut();\n });\n\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n providerData: undefined,\n });\n };\n\n onPageLoad = async () => {\n const { data, error } = await this.client.auth.getSession();\n\n if (!error && data.session) {\n await this.updateUserState(data.session);\n }\n };\n}\n\nconst supabaseAuth: AuthenticationProviderInitializer<\n SupabaseAuthenticationConfig\n> = (options) => new SupabaseAuthenticationProvider(options);\n\nexport default supabaseAuth;\n"],"names":["SupabaseAuthenticationProvider","CoreAuthenticationPlugin","supabaseUrl","supabaseKey","provider","redirectToAfterSignUp","redirectToAfterSignIn","redirectToAfterSignOut","basePath","createClient","root","event","session","useAuthState","user","profile","data","error","AuthorizationError","request","accessToken","redirectTo","finalRedirectTo","resolve","supabaseAuth","options"],"mappings":"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"}
1
+ {"version":3,"file":"zudoku.auth-supabase.js","sources":["../src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx","../src/lib/authentication/providers/supabase.tsx"],"sourcesContent":["import { Auth } from \"@supabase/auth-ui-react\";\nimport {\n ThemeSupa,\n type ThemeVariables,\n type ViewType,\n} from \"@supabase/auth-ui-shared\";\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\nimport { useSearchParams } from \"react-router\";\nimport type { SupabaseAuthenticationConfig } from \"../../../../config/config.js\";\nimport { Heading } from \"../../../components/Heading.js\";\n\nexport const SupabaseAuthUI = ({\n client,\n config,\n view = \"sign_in\",\n}: {\n client: SupabaseClient;\n config: SupabaseAuthenticationConfig;\n view: ViewType;\n}) => {\n const [searchParams] = useSearchParams();\n const redirectTo = searchParams.get(\"redirectTo\");\n const providers = config.provider ? [config.provider] : config.providers;\n const root = config.basePath ?? \"/\";\n const redirectToAfterSignUp =\n redirectTo ?? config.redirectToAfterSignUp ?? root;\n const redirectToAfterSignIn =\n redirectTo ?? config.redirectToAfterSignIn ?? root;\n const redirectToAfterSignOut =\n redirectTo ?? config.redirectToAfterSignOut ?? root;\n\n return (\n <div className=\"flex items-center justify-center\">\n <div className=\"max-w-md w-full mt-10\">\n <Heading level={1}>\n {view === \"sign_in\" ? \"Sign in\" : \"Sign up\"}\n </Heading>\n <Auth\n view={view}\n redirectToAfterSignIn={redirectToAfterSignIn}\n redirectToAfterSignUp={redirectToAfterSignUp}\n redirectToAfterSignOut={redirectToAfterSignOut}\n supabaseClient={client}\n onlyThirdPartyProviders={config.onlyThirdPartyProviders}\n appearance={{\n theme: ThemeSupa,\n variables: {\n default: {\n colors: {\n dividerBackground: \"var(--border)\",\n brand: \"var(--primary)\",\n brandAccent: \"hsla(from var(--primary) h s l / 0.8)\",\n brandButtonText: \"var(--primary-foreground)\",\n defaultButtonBorder: \"var(--border)\",\n inputBorder: \"var(--border)\",\n inputText: \"var(--foreground)\",\n inputBorderHover: \"var(--accent)\",\n defaultButtonBackground: \"var(--secondary)\",\n defaultButtonBackgroundHover: \"var(--accent)\",\n },\n radii: {\n borderRadiusButton: \"var(--radius)\",\n buttonBorderRadius: \"var(--radius)\",\n inputBorderRadius: \"var(--radius)\",\n },\n } satisfies ThemeVariables,\n },\n }}\n providers={providers}\n redirectTo={config.redirectToAfterSignIn ?? \"/\"}\n />\n </div>\n </div>\n );\n};\n","import {\n createClient,\n type Session,\n type SupabaseClient,\n} from \"@supabase/supabase-js\";\nimport type { SupabaseAuthenticationConfig } from \"../../../config/config.js\";\nimport { CoreAuthenticationPlugin } from \"../AuthenticationPlugin.js\";\nimport type {\n AuthActionContext,\n AuthActionOptions,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { SignOut } from \"../components/SignOut.js\";\nimport { AuthorizationError } from \"../errors.js\";\nimport { type UserProfile, useAuthState } from \"../state.js\";\nimport { SupabaseAuthUI } from \"./supabase/SupabaseAuthUI.js\";\n\nclass SupabaseAuthenticationProvider\n extends CoreAuthenticationPlugin\n implements AuthenticationPlugin\n{\n private readonly client: SupabaseClient;\n private readonly config: SupabaseAuthenticationConfig;\n\n constructor(config: SupabaseAuthenticationConfig) {\n const { supabaseUrl, supabaseKey } = config;\n super();\n\n this.client = createClient(supabaseUrl, supabaseKey, {\n auth: {\n autoRefreshToken: true,\n persistSession: true,\n },\n });\n this.config = config;\n\n this.client.auth.onAuthStateChange(async (event, session) => {\n if (session && (event === \"SIGNED_IN\" || event === \"TOKEN_REFRESHED\")) {\n await this.updateUserState(session);\n } else if (event === \"SIGNED_OUT\") {\n useAuthState.getState().setLoggedOut();\n }\n });\n }\n\n private async updateUserState(session: Session) {\n const { user } = session;\n\n const profile: UserProfile = {\n sub: user.id,\n email: user.email,\n name: user.user_metadata.full_name || user.user_metadata.name,\n emailVerified: user.email_confirmed_at != null,\n pictureUrl: user.user_metadata.avatar_url,\n };\n\n useAuthState.getState().setLoggedIn({\n profile,\n providerData: { session },\n });\n }\n\n async getAccessToken(): Promise<string> {\n const { data, error } = await this.client.auth.getSession();\n\n if (error || !data.session) {\n throw new AuthorizationError(\"User is not authenticated\");\n }\n\n return data.session.access_token;\n }\n\n async signRequest(request: Request): Promise<Request> {\n const accessToken = await this.getAccessToken();\n request.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return request;\n }\n\n signUp = async (\n { navigate }: AuthActionContext,\n { redirectTo }: AuthActionOptions,\n ) => {\n void navigate(\n redirectTo\n ? `/signup?redirectTo=${encodeURIComponent(redirectTo)}`\n : `/signup`,\n );\n };\n\n signIn = async (\n { navigate }: AuthActionContext,\n { redirectTo }: AuthActionOptions,\n ) => {\n void navigate(\n redirectTo\n ? `/signin?redirectTo=${encodeURIComponent(redirectTo)}`\n : `/signin`,\n );\n };\n\n getRoutes = () => {\n return [\n {\n path: \"/signin\",\n element: (\n <SupabaseAuthUI\n view=\"sign_in\"\n client={this.client}\n config={this.config}\n />\n ),\n },\n {\n path: \"/signup\",\n element: (\n <SupabaseAuthUI\n view=\"sign_up\"\n client={this.client}\n config={this.config}\n />\n ),\n },\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n ];\n };\n\n signOut = async () => {\n await new Promise<void>((resolve) => {\n const { data } = this.client.auth.onAuthStateChange(async (event) => {\n if (event !== \"SIGNED_OUT\") return;\n data.subscription.unsubscribe();\n resolve();\n });\n void this.client.auth.signOut();\n });\n\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n providerData: undefined,\n });\n };\n\n onPageLoad = async () => {\n const { data, error } = await this.client.auth.getSession();\n\n if (!error && data.session) {\n await this.updateUserState(data.session);\n }\n };\n}\n\nconst supabaseAuth: AuthenticationProviderInitializer<\n SupabaseAuthenticationConfig\n> = (options) => new SupabaseAuthenticationProvider(options);\n\nexport default supabaseAuth;\n"],"names":["SupabaseAuthUI","client","config","view","searchParams","useSearchParams","redirectTo","providers","root","redirectToAfterSignUp","redirectToAfterSignIn","redirectToAfterSignOut","jsxs","jsx","Heading","Auth","ThemeSupa","SupabaseAuthenticationProvider","CoreAuthenticationPlugin","supabaseUrl","supabaseKey","createClient","event","session","useAuthState","user","profile","data","error","AuthorizationError","request","accessToken","navigate","SignOut","resolve","supabaseAuth","options"],"mappings":";;;;;;;;;AAWO,MAAMA,IAAiB,CAAC;AAAA,EAC7B,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC,IAAO;AACT,MAIM;AACJ,QAAM,CAACC,CAAY,IAAIC,EAAA,GACjBC,IAAaF,EAAa,IAAI,YAAY,GAC1CG,IAAYL,EAAO,WAAW,CAACA,EAAO,QAAQ,IAAIA,EAAO,WACzDM,IAAON,EAAO,YAAY,KAC1BO,IACJH,KAAcJ,EAAO,yBAAyBM,GAC1CE,IACJJ,KAAcJ,EAAO,yBAAyBM,GAC1CG,IACJL,KAAcJ,EAAO,0BAA0BM;AAEjD,+BACG,OAAA,EAAI,WAAU,oCACb,UAAAI,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,IAAAC,gBAAAA,MAACC,KAAQ,OAAO,GACb,UAAAX,MAAS,YAAY,YAAY,WACpC;AAAA,IACAU,gBAAAA,EAAAA;AAAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAAZ;AAAA,QACA,uBAAAO;AAAA,QACA,uBAAAD;AAAA,QACA,wBAAAE;AAAA,QACA,gBAAgBV;AAAA,QAChB,yBAAyBC,EAAO;AAAA,QAChC,YAAY;AAAA,UACV,OAAOc;AAAA,UACP,WAAW;AAAA,YACT,SAAS;AAAA,cACP,QAAQ;AAAA,gBACN,mBAAmB;AAAA,gBACnB,OAAO;AAAA,gBACP,aAAa;AAAA,gBACb,iBAAiB;AAAA,gBACjB,qBAAqB;AAAA,gBACrB,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,kBAAkB;AAAA,gBAClB,yBAAyB;AAAA,gBACzB,8BAA8B;AAAA,cAAA;AAAA,cAEhC,OAAO;AAAA,gBACL,oBAAoB;AAAA,gBACpB,oBAAoB;AAAA,gBACpB,mBAAmB;AAAA,cAAA;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QAEF,WAAAT;AAAA,QACA,YAAYL,EAAO,yBAAyB;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9C,EAAA,CACF,EAAA,CACF;AAEJ;ACxDA,MAAMe,UACIC,EAEV;AAAA,EACmB;AAAA,EACA;AAAA,EAEjB,YAAYhB,GAAsC;AAChD,UAAM,EAAE,aAAAiB,GAAa,aAAAC,EAAA,IAAgBlB;AACrC,UAAA,GAEA,KAAK,SAASmB,EAAaF,GAAaC,GAAa;AAAA,MACnD,MAAM;AAAA,QACJ,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,MAAA;AAAA,IAClB,CACD,GACD,KAAK,SAASlB,GAEd,KAAK,OAAO,KAAK,kBAAkB,OAAOoB,GAAOC,MAAY;AAC3D,MAAIA,MAAYD,MAAU,eAAeA,MAAU,qBACjD,MAAM,KAAK,gBAAgBC,CAAO,IACzBD,MAAU,gBACnBE,EAAa,SAAA,EAAW,aAAA;AAAA,IAE5B,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,gBAAgBD,GAAkB;AAC9C,UAAM,EAAE,MAAAE,MAASF,GAEXG,IAAuB;AAAA,MAC3B,KAAKD,EAAK;AAAA,MACV,OAAOA,EAAK;AAAA,MACZ,MAAMA,EAAK,cAAc,aAAaA,EAAK,cAAc;AAAA,MACzD,eAAeA,EAAK,sBAAsB;AAAA,MAC1C,YAAYA,EAAK,cAAc;AAAA,IAAA;AAGjC,IAAAD,EAAa,SAAA,EAAW,YAAY;AAAA,MAClC,SAAAE;AAAA,MACA,cAAc,EAAE,SAAAH,EAAA;AAAA,IAAQ,CACzB;AAAA,EACH;AAAA,EAEA,MAAM,iBAAkC;AACtC,UAAM,EAAE,MAAAI,GAAM,OAAAC,EAAA,IAAU,MAAM,KAAK,OAAO,KAAK,WAAA;AAE/C,QAAIA,KAAS,CAACD,EAAK;AACjB,YAAM,IAAIE,EAAmB,2BAA2B;AAG1D,WAAOF,EAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,MAAM,YAAYG,GAAoC;AACpD,UAAMC,IAAc,MAAM,KAAK,eAAA;AAC/B,WAAAD,EAAQ,QAAQ,IAAI,iBAAiB,UAAUC,CAAW,EAAE,GACrDD;AAAA,EACT;AAAA,EAEA,SAAS,OACP,EAAE,UAAAE,KACF,EAAE,YAAA1B,QACC;AACH,IAAK0B;AAAA,MACH1B,IACI,sBAAsB,mBAAmBA,CAAU,CAAC,KACpD;AAAA,IAAA;AAAA,EAER;AAAA,EAEA,SAAS,OACP,EAAE,UAAA0B,KACF,EAAE,YAAA1B,QACC;AACH,IAAK0B;AAAA,MACH1B,IACI,sBAAsB,mBAAmBA,CAAU,CAAC,KACpD;AAAA,IAAA;AAAA,EAER;AAAA,EAEA,YAAY,MACH;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,SACEO,gBAAAA,EAAAA;AAAAA,QAACb;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,QAAQ,KAAK;AAAA,UACb,QAAQ,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACf;AAAA,IAGJ;AAAA,MACE,MAAM;AAAA,MACN,SACEa,gBAAAA,EAAAA;AAAAA,QAACb;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,QAAQ,KAAK;AAAA,UACb,QAAQ,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACf;AAAA,IAGJ;AAAA,MACE,MAAM;AAAA,MACN,+BAAUiC,GAAA,CAAA,CAAQ;AAAA,IAAA;AAAA,EACpB;AAAA,EAIJ,UAAU,YAAY;AACpB,UAAM,IAAI,QAAc,CAACC,MAAY;AACnC,YAAM,EAAE,MAAAP,MAAS,KAAK,OAAO,KAAK,kBAAkB,OAAOL,MAAU;AACnE,QAAIA,MAAU,iBACdK,EAAK,aAAa,YAAA,GAClBO,EAAA;AAAA,MACF,CAAC;AACD,MAAK,KAAK,OAAO,KAAK,QAAA;AAAA,IACxB,CAAC,GAEDV,EAAa,SAAS;AAAA,MACpB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAAA,EAEA,aAAa,YAAY;AACvB,UAAM,EAAE,MAAAG,GAAM,OAAAC,EAAA,IAAU,MAAM,KAAK,OAAO,KAAK,WAAA;AAE/C,IAAI,CAACA,KAASD,EAAK,WACjB,MAAM,KAAK,gBAAgBA,EAAK,OAAO;AAAA,EAE3C;AACF;AAEA,MAAMQ,IAEF,CAACC,MAAY,IAAInB,EAA+BmB,CAAO;"}
@@ -1,30 +1,29 @@
1
- import "./index.esm-BnYHxCYC.js";
2
- import "./useExposedProps-BH9aq4MD.js";
3
- import "./chunk-QMGIS6GS-DqecZ6nq.js";
4
- import "./hook-ChlxzJwv.js";
1
+ import "./index.esm-DtzT_KoE.js";
2
+ import "./index-DXXZDuSJ.js";
3
+ import "./chunk-PVWAREVJ-ClM0m2aJ.js";
4
+ import "./hook-CHw_R_xu.js";
5
5
  import "./ui/Button.js";
6
6
  import "./ui/Callout.js";
7
7
  import "./ClientOnly-E7hGysn1.js";
8
- import "./ZudokuContext-3cqbu21w.js";
9
- import "./ErrorAlert-Diu_w5Po.js";
10
- import "./Spinner-Cf6E803I.js";
11
- import { B as d, i as h, C as l, d as k, c as S, L as y, M, e as T, S as Z, T as c, Z as f, g, h as A, f as B, j as E, u as H } from "./index-7FEjMkZ_.js";
8
+ import "./ZudokuContext-DNHMZfcP.js";
9
+ import { B as C, y as l, C as d, q as h, p as k, L as y, o as S, t as Z, S as w, r as x, Z as A, w as B, x as E, v as H, z as L, a as M } from "./index-CboxZOVW.js";
10
+ import "./Spinner-CI6bRyZw.js";
12
11
  export {
13
- d as Button,
14
- h as CACHE_KEYS,
15
- l as Callout,
16
- k as ClientOnly,
17
- S as Head,
12
+ C as Button,
13
+ l as CACHE_KEYS,
14
+ d as Callout,
15
+ h as ClientOnly,
16
+ k as Head,
18
17
  y as Link,
19
- M as Markdown,
20
- T as Slot,
21
- Z as Spinner,
22
- c as Typography,
23
- f as Zudoku,
24
- g as useAuth,
25
- A as useCache,
26
- B as useMDXComponents,
27
- E as useTheme,
28
- H as useZudoku
18
+ S as Markdown,
19
+ Z as Slot,
20
+ w as Spinner,
21
+ x as Typography,
22
+ A as Zudoku,
23
+ B as useAuth,
24
+ E as useCache,
25
+ H as useMDXComponents,
26
+ L as useTheme,
27
+ M as useZudoku
29
28
  };
30
29
  //# sourceMappingURL=zudoku.components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"zudoku.components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,27 +1,14 @@
1
- import { z as m, a as p, u as c } from "./useExposedProps-BH9aq4MD.js";
2
- import { a as f } from "./hook-ChlxzJwv.js";
3
- import { d as n, f as d } from "./ZudokuContext-3cqbu21w.js";
4
- import { C as k } from "./ZudokuContext-3cqbu21w.js";
5
- import { useState as E, useEffect as i } from "react";
6
- function C(e, s) {
7
- const t = n(), [r, o] = E();
8
- return i(() => t.addEventListener(e, (...u) => {
9
- if (s) {
10
- const a = s(...u);
11
- o(a);
12
- } else
13
- o(u);
14
- }), [t, e, s]), r;
15
- }
16
- const A = C, v = m, z = p, L = c, M = f, P = n, S = d;
1
+ import { b as o, h as u, e as p, f as r, g as t, a as m, c as C } from "./index-DXXZDuSJ.js";
2
+ import "./hook-CHw_R_xu.js";
3
+ import { C as E } from "./ZudokuContext-DNHMZfcP.js";
17
4
  export {
18
- k as CACHE_KEYS,
19
- M as useAuth,
20
- S as useCache,
21
- A as useEvent,
22
- z as useExposedProps,
23
- L as useMDXComponents,
24
- v as useTheme,
25
- P as useZudoku
5
+ E as CACHE_KEYS,
6
+ o as useAuth,
7
+ u as useCache,
8
+ p as useEvent,
9
+ r as useExposedProps,
10
+ t as useMDXComponents,
11
+ m as useTheme,
12
+ C as useZudoku
26
13
  };
27
14
  //# sourceMappingURL=zudoku.hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.hooks.js","sources":["../src/lib/hooks/useEvent.ts","../src/lib/hooks/index.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport type { ZudokuEvents } from \"../core/ZudokuContext.js\";\n\ntype EventParameters<Event extends keyof ZudokuEvents> = Parameters<\n ZudokuEvents[Event]\n>;\n\n/**\n * Hook to subscribe to Zudoku events with automatic cleanup\n * @param event The event to subscribe to\n * @param callback Optional callback to be called when the event is emitted\n * @returns The latest event data if no callback is provided, or the callback's return value if it returns something\n */\nexport function useEvent<E extends keyof ZudokuEvents>(\n event: E,\n): EventParameters<E>;\nexport function useEvent<E extends keyof ZudokuEvents, R>(\n event: E,\n callback: (...args: EventParameters<E>) => R,\n): R;\nexport function useEvent<E extends keyof ZudokuEvents, R>(\n event: E,\n callback?: (...args: EventParameters<E>) => R,\n) {\n const zudoku = useZudoku();\n const [latestData, setLatestData] = useState<R | EventParameters<E>>();\n\n useEffect(() => {\n return zudoku.addEventListener(event, ((...args: EventParameters<E>) => {\n if (callback) {\n const result = callback(...args);\n setLatestData(result);\n } else {\n setLatestData(args);\n }\n }) as ZudokuEvents[E]);\n }, [zudoku, event, callback]);\n\n return latestData;\n}\n","import { useMDXComponents as useMDXComponentsImport } from \"@mdx-js/react\";\nimport { useTheme as useThemeImport } from \"next-themes\";\nimport { useAuth as useAuthImport } from \"../authentication/hook.js\";\nimport { CACHE_KEYS, useCache as useCacheImport } from \"../components/cache.js\";\nimport { useZudoku as useZudokuImport } from \"../components/context/ZudokuContext.js\";\nimport { useExposedProps as useExposedPropsImport } from \"../util/useExposedProps.js\";\nimport { useEvent as useEventImport } from \"./useEvent.js\";\n\nexport const useEvent = /*@__PURE__*/ useEventImport;\nexport const useTheme = /*@__PURE__*/ useThemeImport;\nexport const useExposedProps = /*@__PURE__*/ useExposedPropsImport;\nexport const useMDXComponents = /*@__PURE__*/ useMDXComponentsImport;\nexport const useAuth = /*@__PURE__*/ useAuthImport;\nexport const useZudoku = /*@__PURE__*/ useZudokuImport;\nexport const useCache = /*@__PURE__*/ useCacheImport;\nexport { CACHE_KEYS };\n"],"names":["useEvent","event","callback","zudoku","useZudoku","latestData","setLatestData","useState","useEffect","args","result","useEventImport","useTheme","useThemeImport","useExposedProps","useExposedPropsImport","useMDXComponents","useMDXComponentsImport","useAuth","useAuthImport","useZudokuImport","useCache","useCacheImport"],"mappings":";;;;;AAqBO,SAASA,EACdC,GACAC,GACA;AACA,QAAMC,IAASC,EAAA,GACT,CAACC,GAAYC,CAAa,IAAIC,EAAA;AAEpC,SAAAC,EAAU,MACDL,EAAO,iBAAiBF,GAAQ,IAAIQ,MAA6B;AACtE,QAAIP,GAAU;AACZ,YAAMQ,IAASR,EAAS,GAAGO,CAAI;AAC/B,MAAAH,EAAcI,CAAM;AAAA,IACtB;AACE,MAAAJ,EAAcG,CAAI;AAAA,EAEtB,CAAqB,GACpB,CAACN,GAAQF,GAAOC,CAAQ,CAAC,GAErBG;AACT;AChCO,MAAML,IAAyBW,GACzBC,IAAyBC,GACzBC,IAAgCC,GAChCC,IAAiCC,GACjCC,IAAwBC,GACxBf,IAA0BgB,GAC1BC,IAAyBC;"}
1
+ {"version":3,"file":"zudoku.hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,6 +1,6 @@
1
1
  import { CircleDashed as e } from "lucide-react";
2
2
  export * from "lucide-react";
3
- import { j as o } from "./jsx-runtime-DywqP_6a.js";
3
+ import { j as o } from "./jsx-runtime-BzflLqGi.js";
4
4
  import { TooltipProvider as t, Tooltip as i, TooltipTrigger as s, TooltipContent as n } from "./ui/Tooltip.js";
5
5
  const d = (r) => /* @__PURE__ */ o.jsx(t, { children: /* @__PURE__ */ o.jsxs(i, { children: [
6
6
  /* @__PURE__ */ o.jsx(s, { className: "text-red-500", children: /* @__PURE__ */ o.jsx(e, { ...r }) }),
@@ -0,0 +1,10 @@
1
+ import "./jsx-runtime-BzflLqGi.js";
2
+ import "./ZudokuContext-DNHMZfcP.js";
3
+ import "react";
4
+ import { M as e } from "./Mermaid-BjSczjLW.js";
5
+ import "./index-DXXZDuSJ.js";
6
+ import "./Spinner-CI6bRyZw.js";
7
+ export {
8
+ e as Mermaid
9
+ };
10
+ //# sourceMappingURL=zudoku.mermaid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zudoku.mermaid.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,39 +1,37 @@
1
- import { j as t } from "./jsx-runtime-DywqP_6a.js";
2
- import { s as f } from "./index-CF3Ls1wd.js";
3
- import { aN as b, an as j } from "./chunk-QMGIS6GS-DqecZ6nq.js";
4
- import { b as x, j as p } from "./ZudokuContext-3cqbu21w.js";
5
- import { H as v } from "./index.esm-BnYHxCYC.js";
6
- import { L as y } from "./index-7FEjMkZ_.js";
7
- import { u as N } from "./hook-ChlxzJwv.js";
8
- import { H as k, M as S } from "./ErrorAlert-Diu_w5Po.js";
1
+ import { j as t } from "./jsx-runtime-BzflLqGi.js";
2
+ import { s as f } from "./index-1TbL0HXQ.js";
3
+ import { c as b, m as j } from "./chunk-PVWAREVJ-ClM0m2aJ.js";
4
+ import { u as x, e as v, j as d } from "./ZudokuContext-DNHMZfcP.js";
5
+ import { H as y } from "./index.esm-DtzT_KoE.js";
6
+ import { H as N, L as k, M as S } from "./index-CboxZOVW.js";
9
7
  const w = ({
10
- items: l,
8
+ items: o,
11
9
  filterCatalogItems: r = (i) => i,
12
10
  label: c = "API Library",
13
11
  categoryLabel: s
14
12
  }) => {
15
- const i = N(), a = b({ path: "/catalog/:category" })?.params.category, n = x({
16
- queryFn: () => r(l, { auth: i }),
13
+ const i = x(), a = b({ path: "/catalog/:category" })?.params.category, l = v({
14
+ queryFn: () => r(o, { auth: i }),
17
15
  queryKey: ["catalogItems", i]
18
16
  }), m = a ? { "data-pagefind-ignore": "all" } : {};
19
17
  return /* @__PURE__ */ t.jsxs("section", { className: "pt-(--padding-content-top)", ...m, children: [
20
- /* @__PURE__ */ t.jsx(v, { children: /* @__PURE__ */ t.jsxs("title", { children: [
18
+ /* @__PURE__ */ t.jsx(y, { children: /* @__PURE__ */ t.jsxs("title", { children: [
21
19
  s ? `${s} - ` : "",
22
20
  c
23
21
  ] }) }),
24
22
  /* @__PURE__ */ t.jsxs("div", { className: "grid gap-4", children: [
25
- /* @__PURE__ */ t.jsxs(k, { level: 2, children: [
23
+ /* @__PURE__ */ t.jsxs(N, { level: 2, children: [
26
24
  c,
27
25
  s && ` - ${s}`
28
26
  ] }),
29
- /* @__PURE__ */ t.jsx("div", { className: "grid grid-cols-2 gap-4", children: n.data.filter(
27
+ /* @__PURE__ */ t.jsx("div", { className: "grid grid-cols-2 gap-4", children: l.data.filter(
30
28
  (e) => !a || e.categories.find(
31
- (o) => o.tags.find((g) => h(o.label, g) === a)
29
+ (n) => n.tags.find((g) => h(n.label, g) === a)
32
30
  )
33
31
  ).map((e) => /* @__PURE__ */ t.jsx(
34
- y,
32
+ k,
35
33
  {
36
- to: p(e.path),
34
+ to: d(e.path),
37
35
  className: "no-underline hover:!text-foreground",
38
36
  children: /* @__PURE__ */ t.jsxs("div", { className: "border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal", children: [
39
37
  /* @__PURE__ */ t.jsx("span", { className: "font-semibold", children: e.label }),
@@ -47,7 +45,7 @@ const w = ({
47
45
  // we need to strip out other links to not get a hydration error, like:
48
46
  // > In HTML, <a> cannot be a descendant of <a>.
49
47
  // > This will cause a hydration error.
50
- a: (o) => /* @__PURE__ */ t.jsx("span", { ...o })
48
+ a: (n) => /* @__PURE__ */ t.jsx("span", { ...n })
51
49
  }
52
50
  }
53
51
  )
@@ -57,24 +55,24 @@ const w = ({
57
55
  )) })
58
56
  ] })
59
57
  ] });
60
- }, h = (l, r) => f(`${l}-${r}`), A = ({
61
- path: l,
58
+ }, h = (o, r) => f(`${o}-${r}`), P = ({
59
+ path: o,
62
60
  items: r,
63
61
  label: c,
64
62
  categories: s = [],
65
63
  filterCatalogItems: i
66
64
  }) => {
67
- const d = Object.fromEntries(
65
+ const p = Object.fromEntries(
68
66
  s.flatMap(
69
- (a) => [void 0, ...a.tags].map((n) => [
70
- p(l, n ? h(a.label, n) : void 0),
71
- n
67
+ (a) => [void 0, ...a.tags].map((l) => [
68
+ d(o, l ? h(a.label, l) : void 0),
69
+ l
72
70
  ])
73
71
  )
74
72
  );
75
73
  return {
76
74
  getNavigation: async (a) => {
77
- if (!Object.keys(d).some(
75
+ if (!Object.keys(p).some(
78
76
  (e) => j(e, a)
79
77
  ))
80
78
  return [];
@@ -82,14 +80,14 @@ const w = ({
82
80
  type: "category",
83
81
  label: e.label,
84
82
  collapsible: !1,
85
- items: e.tags.map((o) => ({
83
+ items: e.tags.map((n) => ({
86
84
  type: "link",
87
- to: p(l, h(e.label, o)),
88
- label: o,
85
+ to: d(o, h(e.label, n)),
86
+ label: n,
89
87
  badge: {
90
88
  label: String(
91
89
  r.filter(
92
- (g) => g.categories.find((u) => u.tags.includes(o))
90
+ (g) => g.categories.find((u) => u.tags.includes(n))
93
91
  ).length
94
92
  ),
95
93
  color: "outline"
@@ -98,18 +96,18 @@ const w = ({
98
96
  }));
99
97
  return m.unshift({
100
98
  type: "link",
101
- to: p(l),
99
+ to: d(o),
102
100
  label: "Overview",
103
101
  badge: { label: String(r.length), color: "outline" }
104
102
  }), m;
105
103
  },
106
- getRoutes: () => Object.entries(d).map(([a, n]) => ({
104
+ getRoutes: () => Object.entries(p).map(([a, l]) => ({
107
105
  path: a,
108
106
  element: /* @__PURE__ */ t.jsx(
109
107
  w,
110
108
  {
111
109
  label: c,
112
- categoryLabel: n,
110
+ categoryLabel: l,
113
111
  items: r,
114
112
  filterCatalogItems: i,
115
113
  categories: s
@@ -119,7 +117,7 @@ const w = ({
119
117
  };
120
118
  };
121
119
  export {
122
- A as apiCatalogPlugin,
120
+ P as apiCatalogPlugin,
123
121
  h as getKey
124
122
  };
125
123
  //# sourceMappingURL=zudoku.plugin-api-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.plugin-api-catalog.js","sources":["../src/lib/plugins/api-catalog/Catalog.tsx","../src/lib/plugins/api-catalog/index.tsx"],"sourcesContent":["import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { useMatch } from \"react-router\";\nimport { Link } from \"zudoku/components\";\nimport { useAuthState } from \"../../authentication/state.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { type ApiCatalogPluginOptions, getKey } from \"./index.js\";\n\nexport const Catalog = ({\n items,\n filterCatalogItems = (items) => items,\n label = \"API Library\",\n categoryLabel,\n}: Omit<ApiCatalogPluginOptions, \"path\"> & {\n categoryLabel?: string;\n}) => {\n const auth = useAuthState();\n const match = useMatch({ path: \"/catalog/:category\" });\n const activeCategory = match?.params.category;\n\n const catalogItems = useSuspenseQuery({\n queryFn: () => filterCatalogItems(items, { auth }),\n queryKey: [\"catalogItems\", auth],\n });\n\n // Only index the overview page, ignore the rest\n const dataSet = activeCategory ? { \"data-pagefind-ignore\": \"all\" } : {};\n\n return (\n <section className=\"pt-(--padding-content-top)\" {...dataSet}>\n <Helmet>\n <title>\n {categoryLabel ? `${categoryLabel} - ` : \"\"}\n {label}\n </title>\n </Helmet>\n <div className=\"grid gap-4\">\n <Heading level={2}>\n {label}\n {categoryLabel && ` - ${categoryLabel}`}\n </Heading>\n\n <div className=\"grid grid-cols-2 gap-4\">\n {catalogItems.data\n .filter(\n (api) =>\n !activeCategory ||\n api.categories.find((c) =>\n c.tags.find((t) => getKey(c.label, t) === activeCategory),\n ),\n )\n .map((api) => (\n <Link\n to={joinUrl(api.path)}\n className=\"no-underline hover:!text-foreground\"\n key={api.path}\n >\n <div className=\"border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal\">\n <span className=\"font-semibold\">{api.label}</span>\n <Markdown\n className=\"text-sm whitespace-pre-wrap mb-6 line-clamp-2\"\n content={api.description}\n components={{\n // Because we're wrapping the description in a Link already,\n // we need to strip out other links to not get a hydration error, like:\n // > In HTML, <a> cannot be a descendant of <a>.\n // > This will cause a hydration error.\n a: (props) => <span {...props} />,\n }}\n />\n </div>\n </Link>\n ))}\n </div>\n </div>\n </section>\n );\n};\n","import slugify from \"@sindresorhus/slugify\";\nimport { matchPath } from \"react-router\";\nimport type { NavigationItem } from \"../../../config/validators/NavigationSchema.js\";\nimport type { AuthState } from \"../../authentication/state.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { Catalog } from \"./Catalog.js\";\n\nexport const getKey = (category: string, tag: string) =>\n slugify(`${category}-${tag}`);\n\nexport type ApiCatalogItem = {\n path: string;\n label: string;\n description: string;\n categories: CatalogCategory[];\n};\n\nexport type CatalogCategory = {\n label: string;\n tags: string[];\n};\n\nexport type ApiCatalogPluginOptions = {\n path: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: FilterCatalogItemsFn;\n};\n\nexport type CatalogContext<ProviderData = unknown> = {\n auth: AuthState<ProviderData>;\n};\n\nexport type FilterCatalogItemsFn<ProviderData = unknown> = (\n items: ApiCatalogItem[],\n { auth }: CatalogContext<ProviderData>,\n) => ApiCatalogItem[];\n\nexport const apiCatalogPlugin = ({\n path,\n items,\n label,\n categories = [],\n filterCatalogItems,\n}: {\n path: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: FilterCatalogItemsFn;\n}): ZudokuPlugin => {\n const paths = Object.fromEntries(\n categories.flatMap((category) =>\n [undefined, ...category.tags].map((tag) => [\n joinUrl(path, tag ? getKey(category.label, tag) : undefined),\n tag,\n ]),\n ),\n );\n\n return {\n getNavigation: async (currentPath) => {\n const matches = Object.keys(paths).some((path) =>\n matchPath(path, currentPath),\n );\n\n if (!matches) {\n return [];\n }\n\n const navigation: NavigationItem[] = categories.map((category) => ({\n type: \"category\",\n label: category.label,\n collapsible: false,\n items: category.tags.map((tag) => ({\n type: \"link\",\n to: joinUrl(path, getKey(category.label, tag)),\n label: tag,\n badge: {\n label: String(\n items.filter((api) =>\n api.categories.find((c) => c.tags.includes(tag)),\n ).length,\n ),\n color: \"outline\",\n },\n })),\n }));\n\n navigation.unshift({\n type: \"link\",\n to: joinUrl(path),\n label: \"Overview\",\n badge: { label: String(items.length), color: \"outline\" },\n });\n\n return navigation;\n },\n getRoutes: () =>\n Object.entries(paths).map(([path, tag]) => ({\n path,\n element: (\n <Catalog\n label={label}\n categoryLabel={tag}\n items={items}\n filterCatalogItems={filterCatalogItems}\n categories={categories}\n />\n ),\n })),\n };\n};\n"],"names":["Catalog","items","filterCatalogItems","label","categoryLabel","auth","useAuthState","activeCategory","useMatch","catalogItems","useSuspenseQuery","dataSet","jsxs","jsx","Helmet","Heading","api","c","t","getKey","Link","joinUrl","Markdown","props","category","tag","slugify","apiCatalogPlugin","path","categories","paths","currentPath","matchPath","navigation"],"mappings":"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"}
1
+ {"version":3,"file":"zudoku.plugin-api-catalog.js","sources":["../src/lib/plugins/api-catalog/Catalog.tsx","../src/lib/plugins/api-catalog/index.tsx"],"sourcesContent":["import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { useMatch } from \"react-router\";\nimport { Link } from \"zudoku/components\";\nimport { useAuthState } from \"../../authentication/state.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { type ApiCatalogPluginOptions, getKey } from \"./index.js\";\n\nexport const Catalog = ({\n items,\n filterCatalogItems = (items) => items,\n label = \"API Library\",\n categoryLabel,\n}: Omit<ApiCatalogPluginOptions, \"path\"> & {\n categoryLabel?: string;\n}) => {\n const auth = useAuthState();\n const match = useMatch({ path: \"/catalog/:category\" });\n const activeCategory = match?.params.category;\n\n const catalogItems = useSuspenseQuery({\n queryFn: () => filterCatalogItems(items, { auth }),\n queryKey: [\"catalogItems\", auth],\n });\n\n // Only index the overview page, ignore the rest\n const dataSet = activeCategory ? { \"data-pagefind-ignore\": \"all\" } : {};\n\n return (\n <section className=\"pt-(--padding-content-top)\" {...dataSet}>\n <Helmet>\n <title>\n {categoryLabel ? `${categoryLabel} - ` : \"\"}\n {label}\n </title>\n </Helmet>\n <div className=\"grid gap-4\">\n <Heading level={2}>\n {label}\n {categoryLabel && ` - ${categoryLabel}`}\n </Heading>\n\n <div className=\"grid grid-cols-2 gap-4\">\n {catalogItems.data\n .filter(\n (api) =>\n !activeCategory ||\n api.categories.find((c) =>\n c.tags.find((t) => getKey(c.label, t) === activeCategory),\n ),\n )\n .map((api) => (\n <Link\n to={joinUrl(api.path)}\n className=\"no-underline hover:!text-foreground\"\n key={api.path}\n >\n <div className=\"border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal\">\n <span className=\"font-semibold\">{api.label}</span>\n <Markdown\n className=\"text-sm whitespace-pre-wrap mb-6 line-clamp-2\"\n content={api.description}\n components={{\n // Because we're wrapping the description in a Link already,\n // we need to strip out other links to not get a hydration error, like:\n // > In HTML, <a> cannot be a descendant of <a>.\n // > This will cause a hydration error.\n a: (props) => <span {...props} />,\n }}\n />\n </div>\n </Link>\n ))}\n </div>\n </div>\n </section>\n );\n};\n","import slugify from \"@sindresorhus/slugify\";\nimport { matchPath } from \"react-router\";\nimport type { NavigationItem } from \"../../../config/validators/NavigationSchema.js\";\nimport type { AuthState } from \"../../authentication/state.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { Catalog } from \"./Catalog.js\";\n\nexport const getKey = (category: string, tag: string) =>\n slugify(`${category}-${tag}`);\n\nexport type ApiCatalogItem = {\n path: string;\n label: string;\n description: string;\n categories: CatalogCategory[];\n};\n\nexport type CatalogCategory = {\n label: string;\n tags: string[];\n};\n\nexport type ApiCatalogPluginOptions = {\n path: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: FilterCatalogItemsFn;\n};\n\nexport type CatalogContext<ProviderData = unknown> = {\n auth: AuthState<ProviderData>;\n};\n\nexport type FilterCatalogItemsFn<ProviderData = unknown> = (\n items: ApiCatalogItem[],\n { auth }: CatalogContext<ProviderData>,\n) => ApiCatalogItem[];\n\nexport const apiCatalogPlugin = ({\n path,\n items,\n label,\n categories = [],\n filterCatalogItems,\n}: {\n path: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: FilterCatalogItemsFn;\n}): ZudokuPlugin => {\n const paths = Object.fromEntries(\n categories.flatMap((category) =>\n [undefined, ...category.tags].map((tag) => [\n joinUrl(path, tag ? getKey(category.label, tag) : undefined),\n tag,\n ]),\n ),\n );\n\n return {\n getNavigation: async (currentPath) => {\n const matches = Object.keys(paths).some((path) =>\n matchPath(path, currentPath),\n );\n\n if (!matches) {\n return [];\n }\n\n const navigation: NavigationItem[] = categories.map((category) => ({\n type: \"category\",\n label: category.label,\n collapsible: false,\n items: category.tags.map((tag) => ({\n type: \"link\",\n to: joinUrl(path, getKey(category.label, tag)),\n label: tag,\n badge: {\n label: String(\n items.filter((api) =>\n api.categories.find((c) => c.tags.includes(tag)),\n ).length,\n ),\n color: \"outline\",\n },\n })),\n }));\n\n navigation.unshift({\n type: \"link\",\n to: joinUrl(path),\n label: \"Overview\",\n badge: { label: String(items.length), color: \"outline\" },\n });\n\n return navigation;\n },\n getRoutes: () =>\n Object.entries(paths).map(([path, tag]) => ({\n path,\n element: (\n <Catalog\n label={label}\n categoryLabel={tag}\n items={items}\n filterCatalogItems={filterCatalogItems}\n categories={categories}\n />\n ),\n })),\n };\n};\n"],"names":["Catalog","items","filterCatalogItems","label","categoryLabel","auth","useAuthState","activeCategory","useMatch","catalogItems","useSuspenseQuery","dataSet","jsxs","jsx","Helmet","Heading","api","c","t","getKey","Link","joinUrl","Markdown","props","category","tag","slugify","apiCatalogPlugin","path","categories","paths","currentPath","matchPath","navigation"],"mappings":"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"}