zudoku 0.57.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. package/cli.js +1 -0
  2. package/dist/app/ZuploBuildConfig.d.ts +1 -1
  3. package/dist/app/ZuploBuildConfig.js +1 -1
  4. package/dist/app/ZuploBuildConfig.js.map +1 -1
  5. package/dist/app/entry.client.js +5 -4
  6. package/dist/app/entry.client.js.map +1 -1
  7. package/dist/app/entry.server.js +2 -2
  8. package/dist/app/entry.server.js.map +1 -1
  9. package/dist/app/env.js +6 -6
  10. package/dist/app/env.js.map +1 -1
  11. package/dist/app/main.js.map +1 -1
  12. package/dist/app/standalone.js +4 -1
  13. package/dist/app/standalone.js.map +1 -1
  14. package/dist/cli/cli.js +2 -1
  15. package/dist/cli/cli.js.map +1 -1
  16. package/dist/cli/cmds/build.d.ts +1 -1
  17. package/dist/cli/cmds/dev.d.ts +1 -1
  18. package/dist/cli/cmds/preview.d.ts +1 -1
  19. package/dist/cli/common/analytics/lib.js +1 -1
  20. package/dist/cli/common/analytics/lib.js.map +1 -1
  21. package/dist/cli/common/logger.js +0 -1
  22. package/dist/cli/common/logger.js.map +1 -1
  23. package/dist/cli/common/machine-id/lib.js +3 -2
  24. package/dist/cli/common/machine-id/lib.js.map +1 -1
  25. package/dist/cli/common/outdated.js +2 -1
  26. package/dist/cli/common/outdated.js.map +1 -1
  27. package/dist/cli/common/output.js +2 -3
  28. package/dist/cli/common/output.js.map +1 -1
  29. package/dist/cli/common/utils/box.js +2 -2
  30. package/dist/cli/common/utils/box.js.map +1 -1
  31. package/dist/cli/common/validators/lib.js +1 -1
  32. package/dist/cli/common/validators/lib.js.map +1 -1
  33. package/dist/cli/dev/handler.js +0 -4
  34. package/dist/cli/dev/handler.js.map +1 -1
  35. package/dist/codegen.js +2 -2
  36. package/dist/codegen.js.map +1 -1
  37. package/dist/config/loader.js.map +1 -1
  38. package/dist/config/validators/BuildSchema.d.ts +1 -1
  39. package/dist/config/validators/BuildSchema.js +3 -3
  40. package/dist/config/validators/BuildSchema.js.map +1 -1
  41. package/dist/config/validators/InputNavigationSchema.d.ts +7 -1
  42. package/dist/config/validators/InputNavigationSchema.js +4 -2
  43. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  44. package/dist/config/validators/InputNavigationSchema.test-d.js +2 -1
  45. package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -1
  46. package/dist/config/validators/NavigationSchema.d.ts +1 -1
  47. package/dist/config/validators/NavigationSchema.js +2 -2
  48. package/dist/config/validators/NavigationSchema.js.map +1 -1
  49. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  50. package/dist/config/validators/ProtectedRoutesSchema.js +1 -1
  51. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -1
  52. package/dist/config/validators/auth.d.ts +2 -2
  53. package/dist/config/validators/auth.js +1 -1
  54. package/dist/config/validators/auth.js.map +1 -1
  55. package/dist/config/validators/validate.d.ts +1 -1
  56. package/dist/config/validators/validate.js +3 -3
  57. package/dist/config/validators/validate.js.map +1 -1
  58. package/dist/config/validators/validate.test.js +1 -2
  59. package/dist/config/validators/validate.test.js.map +1 -1
  60. package/dist/flat-config.d.ts +2 -0
  61. package/dist/index.d.ts +5 -5
  62. package/dist/index.js +2 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/MissingIcon.d.ts +1 -1
  65. package/dist/lib/MissingIcon.js.map +1 -1
  66. package/dist/lib/auth/issuer.test.js +1 -0
  67. package/dist/lib/auth/issuer.test.js.map +1 -1
  68. package/dist/lib/authentication/AuthenticationPlugin.d.ts +1 -1
  69. package/dist/lib/authentication/authentication.d.ts +1 -3
  70. package/dist/lib/authentication/components/OAuthErrorPage.d.ts +1 -1
  71. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  72. package/dist/lib/authentication/components/SignOut.js +1 -1
  73. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  74. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  75. package/dist/lib/authentication/providers/auth0.js +1 -1
  76. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  77. package/dist/lib/authentication/providers/azureb2c.d.ts +2 -2
  78. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  79. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  80. package/dist/lib/authentication/providers/openid.d.ts +2 -2
  81. package/dist/lib/authentication/providers/openid.js.map +1 -1
  82. package/dist/lib/authentication/providers/supabase.d.ts +2 -2
  83. package/dist/lib/authentication/providers/supabase.js +1 -0
  84. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  85. package/dist/lib/authentication/use-broadcast/shared.d.ts +1 -1
  86. package/dist/lib/authentication/use-broadcast/shared.js +3 -3
  87. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -1
  88. package/dist/lib/authentication/use-broadcast/useBroadcast.js +2 -2
  89. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -1
  90. package/dist/lib/components/Autocomplete.js.map +1 -1
  91. package/dist/lib/components/Bootstrap.js.map +1 -1
  92. package/dist/lib/components/BuildCheck.js +2 -1
  93. package/dist/lib/components/BuildCheck.js.map +1 -1
  94. package/dist/lib/components/Header.js +1 -3
  95. package/dist/lib/components/Header.js.map +1 -1
  96. package/dist/lib/components/Heading.d.ts +1 -1
  97. package/dist/lib/components/Heading.js +1 -1
  98. package/dist/lib/components/Heading.js.map +1 -1
  99. package/dist/lib/components/Layout.js.map +1 -1
  100. package/dist/lib/components/Markdown.js +2 -2
  101. package/dist/lib/components/Markdown.js.map +1 -1
  102. package/dist/lib/components/MobileTopNavigation.js +4 -4
  103. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  104. package/dist/lib/components/PathRenderer.js +1 -1
  105. package/dist/lib/components/PathRenderer.js.map +1 -1
  106. package/dist/lib/components/Search.js +1 -1
  107. package/dist/lib/components/Search.js.map +1 -1
  108. package/dist/lib/components/Slot.js.map +1 -1
  109. package/dist/lib/components/Slot.test.js +7 -3
  110. package/dist/lib/components/Slot.test.js.map +1 -1
  111. package/dist/lib/components/TopNavigation.d.ts +1 -1
  112. package/dist/lib/components/TopNavigation.js +2 -2
  113. package/dist/lib/components/TopNavigation.js.map +1 -1
  114. package/dist/lib/components/Zudoku.js +2 -2
  115. package/dist/lib/components/Zudoku.js.map +1 -1
  116. package/dist/lib/components/context/ComponentsContext.js.map +1 -1
  117. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -1
  118. package/dist/lib/components/context/SlotProvider.js.map +1 -1
  119. package/dist/lib/components/context/ViewportAnchorContext.js +1 -1
  120. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  121. package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
  122. package/dist/lib/components/context/ZudokuProvider.d.ts +1 -1
  123. package/dist/lib/components/index.js +1 -1
  124. package/dist/lib/components/index.js.map +1 -1
  125. package/dist/lib/components/navigation/NavigationCategory.js +6 -1
  126. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  127. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  128. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  129. package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -1
  130. package/dist/lib/components/navigation/Toc.js.map +1 -1
  131. package/dist/lib/components/navigation/ZudokuLogo.d.ts +1 -1
  132. package/dist/lib/components/navigation/utils.d.ts +3 -3
  133. package/dist/lib/components/navigation/utils.js +1 -2
  134. package/dist/lib/components/navigation/utils.js.map +1 -1
  135. package/dist/lib/core/ZudokuContext.d.ts +1 -1
  136. package/dist/lib/core/ZudokuContext.js +1 -0
  137. package/dist/lib/core/ZudokuContext.js.map +1 -1
  138. package/dist/lib/errors/ErrorAlert.js +0 -1
  139. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  140. package/dist/lib/errors/TopLevelError.d.ts +2 -2
  141. package/dist/lib/errors/TopLevelError.js +1 -2
  142. package/dist/lib/errors/TopLevelError.js.map +1 -1
  143. package/dist/lib/oas/graphql/circular.js +2 -2
  144. package/dist/lib/oas/graphql/circular.js.map +1 -1
  145. package/dist/lib/oas/graphql/index.js +2 -1
  146. package/dist/lib/oas/graphql/index.js.map +1 -1
  147. package/dist/lib/oas/parser/dereference/index.js +2 -1
  148. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  149. package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
  150. package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
  151. package/dist/lib/oas/parser/index.js +1 -1
  152. package/dist/lib/oas/parser/index.js.map +1 -1
  153. package/dist/lib/oas/parser/upgrade/index.js +2 -1
  154. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  155. package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +1 -1
  156. package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
  157. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +5 -6
  158. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  159. package/dist/lib/plugins/api-keys/index.d.ts +3 -3
  160. package/dist/lib/plugins/api-keys/index.js +1 -1
  161. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  162. package/dist/lib/plugins/custom-pages/index.d.ts +1 -1
  163. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  164. package/dist/lib/plugins/markdown/MdxPage.js +3 -3
  165. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  166. package/dist/lib/plugins/markdown/index.d.ts +1 -1
  167. package/dist/lib/plugins/openapi/ColorizedParam.js +4 -1
  168. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  169. package/dist/lib/plugins/openapi/Endpoint.js +2 -2
  170. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  171. package/dist/lib/plugins/openapi/OasProvider.d.ts +1 -1
  172. package/dist/lib/plugins/openapi/OasProvider.js +1 -0
  173. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  174. package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
  175. package/dist/lib/plugins/openapi/OperationList.js +8 -4
  176. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  177. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  178. package/dist/lib/plugins/openapi/OperationListItem.js +6 -4
  179. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  180. package/dist/lib/plugins/openapi/ParamInfos.d.ts +1 -1
  181. package/dist/lib/plugins/openapi/ParamInfos.js +3 -1
  182. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  183. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  184. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  185. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
  186. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
  187. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  188. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  189. package/dist/lib/plugins/openapi/Sidecar.js +4 -2
  190. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  191. package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
  192. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +1 -1
  193. package/dist/lib/plugins/openapi/client/createServer.js +1 -2
  194. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  195. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  196. package/dist/lib/plugins/openapi/context.d.ts +1 -1
  197. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  198. package/dist/lib/plugins/openapi/graphql/gql.js +0 -1
  199. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  200. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  201. package/dist/lib/plugins/openapi/index.d.ts +2 -2
  202. package/dist/lib/plugins/openapi/index.js +2 -1
  203. package/dist/lib/plugins/openapi/index.js.map +1 -1
  204. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -3
  205. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +1 -1
  206. package/dist/lib/plugins/openapi/playground/Headers.d.ts +1 -1
  207. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +1 -1
  208. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +1 -1
  209. package/dist/lib/plugins/openapi/playground/Playground.d.ts +1 -1
  210. package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
  211. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  212. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +1 -1
  213. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +3 -1
  214. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  215. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +2 -2
  216. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +1 -1
  217. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +1 -1
  218. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -1
  219. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +1 -0
  220. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
  221. package/dist/lib/plugins/openapi/processors/removeParameters.test.js +1 -0
  222. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
  223. package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -1
  224. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -1
  225. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +1 -1
  226. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
  227. package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +1 -1
  228. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +1 -1
  229. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  230. package/dist/lib/plugins/openapi/util/createNavigationCategory.js +1 -0
  231. package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -1
  232. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
  233. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +1 -2
  234. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  235. package/dist/lib/plugins/openapi/util/getRoutes.js +1 -1
  236. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  237. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
  238. package/dist/lib/plugins/search-inkeep/index.js +1 -1
  239. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  240. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +1 -1
  241. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  242. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -1
  243. package/dist/lib/plugins/search-pagefind/ResultList.js +4 -1
  244. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  245. package/dist/lib/plugins/search-pagefind/get-results.js +0 -1
  246. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
  247. package/dist/lib/shiki.d.ts +2 -5
  248. package/dist/lib/shiki.js +3 -6
  249. package/dist/lib/shiki.js.map +1 -1
  250. package/dist/lib/ui/Breadcrumb.js +1 -1
  251. package/dist/lib/ui/Breadcrumb.js.map +1 -1
  252. package/dist/lib/ui/Carousel.js.map +1 -1
  253. package/dist/lib/ui/CodeBlock.js +1 -1
  254. package/dist/lib/ui/CodeBlock.js.map +1 -1
  255. package/dist/lib/ui/Command.d.ts +2 -2
  256. package/dist/lib/ui/Command.js +2 -6
  257. package/dist/lib/ui/Command.js.map +1 -1
  258. package/dist/lib/ui/Dialog.js +1 -1
  259. package/dist/lib/ui/Dialog.js.map +1 -1
  260. package/dist/lib/ui/Form.d.ts +2 -2
  261. package/dist/lib/ui/Pagination.d.ts +1 -1
  262. package/dist/lib/ui/Pagination.js +1 -1
  263. package/dist/lib/ui/Pagination.js.map +1 -1
  264. package/dist/lib/ui/ToggleGroup.d.ts +1 -1
  265. package/dist/lib/util/MdxComponents.d.ts +1 -1
  266. package/dist/lib/util/MdxComponents.js +4 -2
  267. package/dist/lib/util/MdxComponents.js.map +1 -1
  268. package/dist/lib/util/cn.js.map +1 -1
  269. package/dist/lib/util/createVariantComponent.d.ts +2 -2
  270. package/dist/lib/util/createVariantComponent.js.map +1 -1
  271. package/dist/lib/util/groupBy.js +1 -0
  272. package/dist/lib/util/groupBy.js.map +1 -1
  273. package/dist/lib/util/humanFileSize.js +1 -1
  274. package/dist/lib/util/humanFileSize.js.map +1 -1
  275. package/dist/lib/util/invariant.js +3 -1
  276. package/dist/lib/util/invariant.js.map +1 -1
  277. package/dist/lib/util/pastellize.js +2 -2
  278. package/dist/lib/util/pastellize.js.map +1 -1
  279. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -1
  280. package/dist/lib/util/useScrollToAnchor.js +2 -0
  281. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  282. package/dist/ts.js +3 -3
  283. package/dist/ts.js.map +1 -1
  284. package/dist/vite/api/SchemaManager.js +6 -6
  285. package/dist/vite/api/SchemaManager.js.map +1 -1
  286. package/dist/vite/api/schema-codegen.js +1 -2
  287. package/dist/vite/api/schema-codegen.js.map +1 -1
  288. package/dist/vite/api/schema-codegen.test.js +1 -1
  289. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  290. package/dist/vite/build.js +1 -1
  291. package/dist/vite/build.js.map +1 -1
  292. package/dist/vite/dev-server.js +2 -2
  293. package/dist/vite/dev-server.js.map +1 -1
  294. package/dist/vite/error-handler.d.ts +2 -2
  295. package/dist/vite/error-handler.js.map +1 -1
  296. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  297. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  298. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  299. package/dist/vite/mdx/remark-last-modified.js +0 -1
  300. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  301. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  302. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  303. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  304. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  305. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  306. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  307. package/dist/vite/{remarkStaticGeneration.d.ts → mdx/remark-static-generation.d.ts} +2 -2
  308. package/dist/vite/{remarkStaticGeneration.js → mdx/remark-static-generation.js} +2 -2
  309. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  310. package/dist/vite/output.d.ts +1 -1
  311. package/dist/vite/output.js +1 -1
  312. package/dist/vite/output.js.map +1 -1
  313. package/dist/vite/plugin-api-keys.d.ts +1 -1
  314. package/dist/vite/plugin-api-keys.js +1 -1
  315. package/dist/vite/plugin-api-keys.js.map +1 -1
  316. package/dist/vite/plugin-api.js +4 -4
  317. package/dist/vite/plugin-api.js.map +1 -1
  318. package/dist/vite/plugin-auth.d.ts +1 -1
  319. package/dist/vite/plugin-auth.js +1 -1
  320. package/dist/vite/plugin-auth.js.map +1 -1
  321. package/dist/vite/plugin-component.d.ts +1 -1
  322. package/dist/vite/plugin-config-reload.d.ts +1 -1
  323. package/dist/vite/plugin-custom-pages.d.ts +1 -1
  324. package/dist/vite/plugin-custom-pages.js +1 -1
  325. package/dist/vite/plugin-custom-pages.js.map +1 -1
  326. package/dist/vite/plugin-docs.js +2 -2
  327. package/dist/vite/plugin-docs.js.map +1 -1
  328. package/dist/vite/plugin-frontmatter.js +1 -1
  329. package/dist/vite/plugin-frontmatter.js.map +1 -1
  330. package/dist/vite/plugin-mdx.d.ts +1 -1
  331. package/dist/vite/plugin-mdx.js +9 -25
  332. package/dist/vite/plugin-mdx.js.map +1 -1
  333. package/dist/vite/plugin-metadata.d.ts +1 -1
  334. package/dist/vite/plugin-navigation.d.ts +2 -2
  335. package/dist/vite/plugin-navigation.js +34 -35
  336. package/dist/vite/plugin-navigation.js.map +1 -1
  337. package/dist/vite/plugin-redirect.d.ts +1 -1
  338. package/dist/vite/plugin-redirect.js +1 -1
  339. package/dist/vite/plugin-redirect.js.map +1 -1
  340. package/dist/vite/plugin-search.d.ts +1 -1
  341. package/dist/vite/plugin-search.js +1 -1
  342. package/dist/vite/plugin-search.js.map +1 -1
  343. package/dist/vite/plugin-shiki-register.js +1 -1
  344. package/dist/vite/plugin-shiki-register.js.map +1 -1
  345. package/dist/vite/plugin-theme.js +6 -6
  346. package/dist/vite/plugin-theme.js.map +1 -1
  347. package/dist/vite/plugin-theme.test.js +2 -0
  348. package/dist/vite/plugin-theme.test.js.map +1 -1
  349. package/dist/vite/plugin.d.ts +1 -1
  350. package/dist/vite/plugin.js +2 -2
  351. package/dist/vite/plugin.js.map +1 -1
  352. package/dist/vite/prerender/FileWritingResponse.js +5 -3
  353. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  354. package/dist/vite/prerender/InMemoryResponse.js +3 -1
  355. package/dist/vite/prerender/InMemoryResponse.js.map +1 -1
  356. package/dist/vite/prerender/prerender.js +1 -1
  357. package/dist/vite/prerender/prerender.js.map +1 -1
  358. package/dist/vite/prerender/worker.d.ts +1 -1
  359. package/dist/vite/prerender/worker.js.map +1 -1
  360. package/dist/vite/reporter.js +2 -2
  361. package/dist/vite/reporter.js.map +1 -1
  362. package/dist/vite/shadcn-registry.d.ts +8 -33
  363. package/dist/vite/sitemap.js +4 -4
  364. package/dist/vite/sitemap.js.map +1 -1
  365. package/dist/zuplo/enrich-with-zuplo.js +3 -3
  366. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  367. package/dist/zuplo/policy-types.js +0 -1
  368. package/dist/zuplo/policy-types.js.map +1 -1
  369. package/dist/zuplo/with-zuplo.js +1 -1
  370. package/dist/zuplo/with-zuplo.js.map +1 -1
  371. package/lib/{CodeBlock-yJjjRwj-.js → CodeBlock-CX_J17Hf.js} +10 -10
  372. package/lib/CodeBlock-CX_J17Hf.js.map +1 -0
  373. package/lib/{Command-CDn17s8X.js → Command-CUSlH0gJ.js} +21 -27
  374. package/lib/Command-CUSlH0gJ.js.map +1 -0
  375. package/lib/{Dialog-BrIjMmUK.js → Dialog-BmgXWOaz.js} +2 -2
  376. package/lib/Dialog-BmgXWOaz.js.map +1 -0
  377. package/lib/{MdxPage-BmOQ5m5g.js → MdxPage-Dae--mnh.js} +12 -12
  378. package/lib/MdxPage-Dae--mnh.js.map +1 -0
  379. package/lib/{OAuthErrorPage-Jv3r8wnL.js → OAuthErrorPage-C2pwoHzm.js} +6 -6
  380. package/lib/OAuthErrorPage-C2pwoHzm.js.map +1 -0
  381. package/lib/{OasProvider-CA_lpILt.js → OasProvider-qKBA2fuv.js} +3 -2
  382. package/lib/OasProvider-qKBA2fuv.js.map +1 -0
  383. package/lib/{OperationList-C-TObVw6.js → OperationList-sDq65nbj.js} +302 -306
  384. package/lib/OperationList-sDq65nbj.js.map +1 -0
  385. package/lib/{Pagination-CBiRGddW.js → Pagination-CmDrHzPg.js} +2 -2
  386. package/lib/{Pagination-CBiRGddW.js.map → Pagination-CmDrHzPg.js.map} +1 -1
  387. package/lib/{RouteGuard-JLH6tCY8.js → RouteGuard-BIksrt_C.js} +4 -4
  388. package/lib/{RouteGuard-JLH6tCY8.js.map → RouteGuard-BIksrt_C.js.map} +1 -1
  389. package/lib/{RouterError-DcVonMP1.js → RouterError-BYHrbLtD.js} +2 -2
  390. package/lib/{RouterError-DcVonMP1.js.map → RouterError-BYHrbLtD.js.map} +1 -1
  391. package/lib/{SchemaList-BeYWvBC7.js → SchemaList-DdwSRBpd.js} +7 -7
  392. package/lib/{SchemaList-BeYWvBC7.js.map → SchemaList-DdwSRBpd.js.map} +1 -1
  393. package/lib/{SchemaView-CRcShewo.js → SchemaView-CA_Q_bvL.js} +65 -62
  394. package/lib/SchemaView-CA_Q_bvL.js.map +1 -0
  395. package/lib/{Select-C3efYI1n.js → Select-DWh0wSay.js} +3 -3
  396. package/lib/{Select-C3efYI1n.js.map → Select-DWh0wSay.js.map} +1 -1
  397. package/lib/{SignUp-CxBGHgba.js → SignUp-u6c0hFsC.js} +4 -4
  398. package/lib/SignUp-u6c0hFsC.js.map +1 -0
  399. package/lib/{Slot-DOtTvoyj.js → Slot-BbdqiRXo.js} +267 -239
  400. package/lib/{Slot-DOtTvoyj.js.map → Slot-BbdqiRXo.js.map} +1 -1
  401. package/lib/{SyntaxHighlight-GR0eix_L.js → SyntaxHighlight-CvzJ7DNa.js} +6 -9
  402. package/lib/{SyntaxHighlight-GR0eix_L.js.map → SyntaxHighlight-CvzJ7DNa.js.map} +1 -1
  403. package/lib/{Toc-BlcGIkXc.js → Toc-BAa-kpqN.js} +2 -2
  404. package/lib/{Toc-BlcGIkXc.js.map → Toc-BAa-kpqN.js.map} +1 -1
  405. package/lib/{ZudokuContext-BuJD7yIX.js → ZudokuContext-BR-lnR7O.js} +16 -17
  406. package/lib/{ZudokuContext-BuJD7yIX.js.map → ZudokuContext-BR-lnR7O.js.map} +1 -1
  407. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +1 -1
  408. package/lib/{circular-CGTcsqA3.js → circular-vrOlHc7z.js} +2 -2
  409. package/lib/{circular-CGTcsqA3.js.map → circular-vrOlHc7z.js.map} +1 -1
  410. package/lib/cn-dYga0KKN.js.map +1 -1
  411. package/lib/{createServer-DjgpuLne.js → createServer-BFra0x-X.js} +12 -27
  412. package/lib/createServer-BFra0x-X.js.map +1 -0
  413. package/lib/{errors-CrI3s7mR.js → errors-B6u81sEb.js} +2 -2
  414. package/lib/errors-B6u81sEb.js.map +1 -0
  415. package/lib/{hook-bv3iuX7X.js → hook-B4Q30zMI.js} +2 -2
  416. package/lib/{hook-bv3iuX7X.js.map → hook-B4Q30zMI.js.map} +1 -1
  417. package/lib/{index-HarEI51d.js → index-CQGi1b3U.js} +2 -2
  418. package/lib/{index-HarEI51d.js.map → index-CQGi1b3U.js.map} +1 -1
  419. package/lib/{index-CvTWnHZF.js → index-D1QlkVH3.js} +55 -52
  420. package/lib/index-D1QlkVH3.js.map +1 -0
  421. package/lib/{index-DzO-Qh6S.js → index-z-rQiwfg.js} +143 -146
  422. package/lib/index-z-rQiwfg.js.map +1 -0
  423. package/lib/invariant-Bm-FVUQE.js.map +1 -1
  424. package/lib/{mutation-Dy_5up8v.js → mutation-CiMUdKRU.js} +2 -2
  425. package/lib/{mutation-Dy_5up8v.js.map → mutation-CiMUdKRU.js.map} +1 -1
  426. package/lib/ui/Breadcrumb.js +22 -21
  427. package/lib/ui/Breadcrumb.js.map +1 -1
  428. package/lib/ui/Carousel.js.map +1 -1
  429. package/lib/ui/CodeBlock.js +1 -1
  430. package/lib/ui/Command.js +20 -26
  431. package/lib/ui/Command.js.map +1 -1
  432. package/lib/ui/Dialog.js +1 -1
  433. package/lib/ui/Dialog.js.map +1 -1
  434. package/lib/ui/Form.js.map +1 -1
  435. package/lib/ui/Pagination.js +28 -29
  436. package/lib/ui/Pagination.js.map +1 -1
  437. package/lib/ui/SyntaxHighlight.js +3 -3
  438. package/lib/ui/ToggleGroup.js.map +1 -1
  439. package/lib/zudoku.__internal.js +824 -815
  440. package/lib/zudoku.__internal.js.map +1 -1
  441. package/lib/zudoku.auth-auth0.js +1 -1
  442. package/lib/zudoku.auth-auth0.js.map +1 -1
  443. package/lib/zudoku.auth-azureb2c.js +5 -5
  444. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  445. package/lib/zudoku.auth-clerk.js +2 -2
  446. package/lib/zudoku.auth-clerk.js.map +1 -1
  447. package/lib/zudoku.auth-openid.js +5 -5
  448. package/lib/zudoku.auth-openid.js.map +1 -1
  449. package/lib/zudoku.auth-supabase.js +3 -2
  450. package/lib/zudoku.auth-supabase.js.map +1 -1
  451. package/lib/zudoku.components.js +4 -4
  452. package/lib/zudoku.hooks.js +3 -3
  453. package/lib/zudoku.icons.js.map +1 -1
  454. package/lib/zudoku.plugin-api-catalog.js +5 -5
  455. package/lib/zudoku.plugin-api-keys.js +40 -40
  456. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  457. package/lib/zudoku.plugin-custom-pages.js +1 -1
  458. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  459. package/lib/zudoku.plugin-markdown.js +1 -1
  460. package/lib/zudoku.plugin-markdown.js.map +1 -1
  461. package/lib/zudoku.plugin-openapi.js +3 -3
  462. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  463. package/lib/zudoku.plugin-search-pagefind.js +6 -6
  464. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  465. package/package.json +7 -22
  466. package/src/app/ZuploBuildConfig.ts +1 -1
  467. package/src/app/entry.client.tsx +6 -5
  468. package/src/app/entry.server.tsx +3 -3
  469. package/src/app/env.ts +6 -6
  470. package/src/app/main.tsx +2 -2
  471. package/src/app/standalone.tsx +7 -2
  472. package/src/lib/MissingIcon.tsx +1 -1
  473. package/src/lib/auth/issuer.test.ts +1 -0
  474. package/src/lib/authentication/AuthenticationPlugin.tsx +4 -4
  475. package/src/lib/authentication/authentication.ts +3 -3
  476. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  477. package/src/lib/authentication/components/SignOut.tsx +1 -1
  478. package/src/lib/authentication/providers/auth0.tsx +5 -5
  479. package/src/lib/authentication/providers/azureb2c.tsx +5 -5
  480. package/src/lib/authentication/providers/clerk.tsx +5 -5
  481. package/src/lib/authentication/providers/openid.tsx +6 -6
  482. package/src/lib/authentication/providers/supabase.tsx +7 -6
  483. package/src/lib/authentication/use-broadcast/shared.ts +4 -4
  484. package/src/lib/authentication/use-broadcast/useBroadcast.ts +2 -2
  485. package/src/lib/components/AnchorLink.tsx +1 -1
  486. package/src/lib/components/Autocomplete.tsx +1 -1
  487. package/src/lib/components/Bootstrap.tsx +1 -0
  488. package/src/lib/components/BuildCheck.tsx +2 -1
  489. package/src/lib/components/Header.tsx +2 -3
  490. package/src/lib/components/Heading.tsx +2 -3
  491. package/src/lib/components/Layout.tsx +1 -1
  492. package/src/lib/components/Markdown.tsx +5 -2
  493. package/src/lib/components/MobileTopNavigation.tsx +11 -13
  494. package/src/lib/components/PathRenderer.tsx +2 -2
  495. package/src/lib/components/Search.tsx +1 -1
  496. package/src/lib/components/Slot.test.tsx +8 -8
  497. package/src/lib/components/Slot.tsx +2 -2
  498. package/src/lib/components/TopNavigation.tsx +3 -3
  499. package/src/lib/components/Zudoku.tsx +2 -2
  500. package/src/lib/components/context/ComponentsContext.tsx +2 -2
  501. package/src/lib/components/context/RouterEventsEmitter.tsx +1 -1
  502. package/src/lib/components/context/SlotProvider.tsx +4 -4
  503. package/src/lib/components/context/ViewportAnchorContext.tsx +2 -2
  504. package/src/lib/components/context/ZudokuContext.ts +1 -1
  505. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  506. package/src/lib/components/index.ts +1 -1
  507. package/src/lib/components/navigation/NavigationCategory.tsx +8 -1
  508. package/src/lib/components/navigation/NavigationItem.tsx +2 -2
  509. package/src/lib/components/navigation/NavigationWrapper.tsx +1 -1
  510. package/src/lib/components/navigation/Toc.tsx +2 -2
  511. package/src/lib/components/navigation/ZudokuLogo.tsx +1 -1
  512. package/src/lib/components/navigation/utils.ts +5 -6
  513. package/src/lib/core/ZudokuContext.ts +2 -1
  514. package/src/lib/errors/ErrorAlert.tsx +0 -1
  515. package/src/lib/errors/TopLevelError.tsx +2 -4
  516. package/src/lib/hooks/useEvent.test.tsx +2 -2
  517. package/src/lib/oas/graphql/circular.ts +3 -3
  518. package/src/lib/oas/graphql/index.ts +2 -1
  519. package/src/lib/oas/parser/dereference/index.ts +2 -1
  520. package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
  521. package/src/lib/oas/parser/index.ts +2 -2
  522. package/src/lib/oas/parser/upgrade/index.ts +2 -1
  523. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  524. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +5 -6
  525. package/src/lib/plugins/api-keys/index.tsx +8 -8
  526. package/src/lib/plugins/custom-pages/index.tsx +1 -1
  527. package/src/lib/plugins/markdown/MdxPage.tsx +5 -5
  528. package/src/lib/plugins/markdown/index.tsx +1 -1
  529. package/src/lib/plugins/openapi/ColorizedParam.tsx +3 -1
  530. package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
  531. package/src/lib/plugins/openapi/OasProvider.tsx +2 -1
  532. package/src/lib/plugins/openapi/OperationList.tsx +5 -4
  533. package/src/lib/plugins/openapi/OperationListItem.tsx +18 -20
  534. package/src/lib/plugins/openapi/ParamInfos.tsx +2 -1
  535. package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -3
  536. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -3
  537. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +1 -1
  538. package/src/lib/plugins/openapi/Sidecar.tsx +2 -1
  539. package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -1
  540. package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
  541. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +1 -1
  542. package/src/lib/plugins/openapi/client/createServer.ts +1 -2
  543. package/src/lib/plugins/openapi/client/useCreateQuery.ts +3 -2
  544. package/src/lib/plugins/openapi/context.tsx +1 -1
  545. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +0 -1
  546. package/src/lib/plugins/openapi/graphql/gql.ts +0 -1
  547. package/src/lib/plugins/openapi/graphql/graphql.ts +0 -1
  548. package/src/lib/plugins/openapi/index.tsx +5 -4
  549. package/src/lib/plugins/openapi/interfaces.ts +5 -3
  550. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +2 -2
  551. package/src/lib/plugins/openapi/playground/Headers.tsx +1 -1
  552. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +1 -1
  553. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +1 -1
  554. package/src/lib/plugins/openapi/playground/Playground.tsx +2 -2
  555. package/src/lib/plugins/openapi/playground/QueryParams.tsx +1 -1
  556. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +1 -1
  557. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  558. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +3 -1
  559. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +3 -3
  560. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +1 -1
  561. package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +1 -0
  562. package/src/lib/plugins/openapi/processors/removeParameters.test.ts +1 -0
  563. package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
  564. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -1
  565. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +2 -2
  566. package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +1 -0
  567. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +3 -4
  568. package/src/lib/plugins/openapi/util/getRoutes.tsx +2 -2
  569. package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
  570. package/src/lib/plugins/search-inkeep/index.tsx +3 -3
  571. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +2 -4
  572. package/src/lib/plugins/search-pagefind/ResultList.tsx +3 -4
  573. package/src/lib/plugins/search-pagefind/get-results.tsx +0 -1
  574. package/src/lib/shiki.ts +6 -6
  575. package/src/lib/ui/Breadcrumb.tsx +1 -0
  576. package/src/lib/ui/Carousel.tsx +1 -0
  577. package/src/lib/ui/CodeBlock.tsx +3 -1
  578. package/src/lib/ui/Command.tsx +2 -4
  579. package/src/lib/ui/Dialog.tsx +1 -2
  580. package/src/lib/ui/Form.tsx +4 -4
  581. package/src/lib/ui/Pagination.tsx +1 -2
  582. package/src/lib/ui/ToggleGroup.tsx +1 -1
  583. package/src/lib/util/MdxComponents.tsx +9 -2
  584. package/src/lib/util/cn.ts +1 -1
  585. package/src/lib/util/createVariantComponent.tsx +2 -2
  586. package/src/lib/util/groupBy.ts +1 -0
  587. package/src/lib/util/humanFileSize.ts +2 -3
  588. package/src/lib/util/invariant.ts +1 -0
  589. package/src/lib/util/pastellize.ts +2 -2
  590. package/src/lib/util/types.ts +1 -1
  591. package/src/lib/util/useIsomorphicLayoutEffect.ts +1 -0
  592. package/src/lib/util/useScrollToAnchor.ts +3 -1
  593. package/src/shiki/langs/vue-vine.js +1 -0
  594. package/dist/lib/components/ReactMarkdown.d.ts +0 -29
  595. package/dist/lib/components/ReactMarkdown.js +0 -182
  596. package/dist/lib/components/ReactMarkdown.js.map +0 -1
  597. package/dist/vite/remarkStaticGeneration.js.map +0 -1
  598. package/lib/CodeBlock-yJjjRwj-.js.map +0 -1
  599. package/lib/Command-CDn17s8X.js.map +0 -1
  600. package/lib/Dialog-BrIjMmUK.js.map +0 -1
  601. package/lib/MdxPage-BmOQ5m5g.js.map +0 -1
  602. package/lib/OAuthErrorPage-Jv3r8wnL.js.map +0 -1
  603. package/lib/OasProvider-CA_lpILt.js.map +0 -1
  604. package/lib/OperationList-C-TObVw6.js.map +0 -1
  605. package/lib/SchemaView-CRcShewo.js.map +0 -1
  606. package/lib/SignUp-CxBGHgba.js.map +0 -1
  607. package/lib/createServer-DjgpuLne.js.map +0 -1
  608. package/lib/errors-CrI3s7mR.js.map +0 -1
  609. package/lib/index-CvTWnHZF.js.map +0 -1
  610. package/lib/index-DzO-Qh6S.js.map +0 -1
  611. package/src/lib/components/ReactMarkdown.license.txt +0 -21
  612. package/src/lib/components/ReactMarkdown.tsx +0 -264
@@ -1,182 +0,0 @@
1
- /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
2
- /* eslint-disable @typescript-eslint/no-unnecessary-condition */
3
- /**
4
- * This is a fork of `react-markdown` converted to typescript.
5
- * The reason we fork it is because react-markdown is comptaible with
6
- * unified 11, but references the unified 10 and related packages causing
7
- * type errors and a bunch of extra imports
8
- *
9
- * Source: https://github.com/remarkjs/react-markdown/blob/main/index.js
10
- */
11
- import { unreachable } from "devlop";
12
- import { toJsxRuntime, } from "hast-util-to-jsx-runtime";
13
- import { urlAttributes } from "html-url-attributes";
14
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
- import remarkParse from "remark-parse";
16
- import remarkRehype from "remark-rehype";
17
- import { unified } from "unified";
18
- import { visit } from "unist-util-visit";
19
- import { VFile } from "vfile";
20
- const changelog = "https://github.com/remarkjs/react-markdown/blob/main/changelog.md";
21
- const emptyPlugins = [];
22
- const emptyRemarkRehypeOptions = {
23
- allowDangerousHtml: true,
24
- };
25
- const safeProtocol = /^(https?|ircs?|mailto|xmpp)$/i;
26
- const deprecations = [
27
- { from: "astPlugins", id: "remove-buggy-html-in-markdown-parser" },
28
- { from: "allowDangerousHtml", id: "remove-buggy-html-in-markdown-parser" },
29
- {
30
- from: "allowNode",
31
- id: "replace-allownode-allowedtypes-and-disallowedtypes",
32
- to: "allowElement",
33
- },
34
- {
35
- from: "allowedTypes",
36
- id: "replace-allownode-allowedtypes-and-disallowedtypes",
37
- to: "allowedElements",
38
- },
39
- {
40
- from: "disallowedTypes",
41
- id: "replace-allownode-allowedtypes-and-disallowedtypes",
42
- to: "disallowedElements",
43
- },
44
- { from: "escapeHtml", id: "remove-buggy-html-in-markdown-parser" },
45
- { from: "includeElementIndex", id: "#remove-includeelementindex" },
46
- {
47
- from: "includeNodeIndex",
48
- id: "change-includenodeindex-to-includeelementindex",
49
- },
50
- { from: "linkTarget", id: "remove-linktarget" },
51
- {
52
- from: "plugins",
53
- id: "change-plugins-to-remarkplugins",
54
- to: "remarkPlugins",
55
- },
56
- { from: "rawSourcePos", id: "#remove-rawsourcepos" },
57
- { from: "renderers", id: "change-renderers-to-components", to: "components" },
58
- { from: "source", id: "change-source-to-children", to: "children" },
59
- { from: "sourcePos", id: "#remove-sourcepos" },
60
- { from: "transformImageUri", id: "#add-urltransform", to: "urlTransform" },
61
- { from: "transformLinkUri", id: "#add-urltransform", to: "urlTransform" },
62
- ];
63
- export function ReactMarkdown(options) {
64
- const allowedElements = options.allowedElements;
65
- const allowElement = options.allowElement;
66
- const children = options.children || "";
67
- const className = options.className;
68
- const components = options.components;
69
- const disallowedElements = options.disallowedElements;
70
- const rehypePlugins = options.rehypePlugins || emptyPlugins;
71
- const remarkPlugins = options.remarkPlugins || emptyPlugins;
72
- const remarkRehypeOptions = options.remarkRehypeOptions
73
- ? { ...options.remarkRehypeOptions, ...emptyRemarkRehypeOptions }
74
- : emptyRemarkRehypeOptions;
75
- const skipHtml = options.skipHtml;
76
- const unwrapDisallowed = options.unwrapDisallowed;
77
- const urlTransform = options.urlTransform || defaultUrlTransform;
78
- const processor = unified()
79
- .use(remarkParse)
80
- .use(remarkPlugins)
81
- .use(remarkRehype, remarkRehypeOptions)
82
- .use(rehypePlugins);
83
- const file = new VFile();
84
- if (typeof children === "string") {
85
- file.value = children;
86
- }
87
- else {
88
- unreachable(`Unexpected value '${children}' for 'children' prop, expected 'string'`);
89
- }
90
- if (allowedElements && disallowedElements) {
91
- unreachable("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other");
92
- }
93
- for (const deprecation of deprecations) {
94
- if (Object.prototype.hasOwnProperty.call(options, deprecation.from)) {
95
- unreachable(`Unexpected '${deprecation.from}' prop, ` +
96
- (deprecation.to ? `use '${deprecation.to}' instead` : "remove it") +
97
- ` (see <${changelog}#${deprecation.id}> for more info)`);
98
- }
99
- }
100
- const mdastTree = processor.parse(file);
101
- let hastTree = processor.runSync(mdastTree, file);
102
- if (className) {
103
- hastTree = {
104
- type: "element",
105
- tagName: "div",
106
- properties: { className },
107
- children: hastTree.type === "root"
108
- ? hastTree.children
109
- : [hastTree],
110
- };
111
- }
112
- // Nodes type is slightly off, different versions of `hast` have different types
113
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
114
- // @ts-ignore
115
- visit(hastTree, transform);
116
- return toJsxRuntime(hastTree, {
117
- Fragment,
118
- components,
119
- ignoreInvalidStyle: true,
120
- jsx,
121
- jsxs,
122
- passKeys: true,
123
- passNode: true,
124
- });
125
- function transform(node, index, parent) {
126
- if (node.type === "raw" && parent && typeof index === "number") {
127
- if (skipHtml) {
128
- parent.children.splice(index, 1);
129
- }
130
- else {
131
- parent.children[index] = { type: "text", value: node.value };
132
- }
133
- return index;
134
- }
135
- if (node.type === "element") {
136
- for (const key in urlAttributes) {
137
- if (Object.prototype.hasOwnProperty.call(urlAttributes, key) &&
138
- Object.prototype.hasOwnProperty.call(node.properties, key)) {
139
- const value = node.properties[key];
140
- const test = urlAttributes[key];
141
- if (test === null ||
142
- test === undefined ||
143
- test.includes(node.tagName)) {
144
- node.properties[key] = urlTransform(String(value || ""), key, node);
145
- }
146
- }
147
- }
148
- let remove = allowedElements
149
- ? !allowedElements.includes(node.tagName)
150
- : disallowedElements
151
- ? disallowedElements.includes(node.tagName)
152
- : false;
153
- if (!remove && allowElement && typeof index === "number") {
154
- remove = !allowElement(node, index, parent);
155
- }
156
- if (remove && parent && typeof index === "number") {
157
- if (unwrapDisallowed && node.children) {
158
- parent.children.splice(index, 1, ...node.children);
159
- }
160
- else {
161
- parent.children.splice(index, 1);
162
- }
163
- return index;
164
- }
165
- }
166
- }
167
- }
168
- function defaultUrlTransform(value) {
169
- const colon = value.indexOf(":");
170
- const questionMark = value.indexOf("?");
171
- const numberSign = value.indexOf("#");
172
- const slash = value.indexOf("/");
173
- if (colon < 0 ||
174
- (slash > -1 && colon > slash) ||
175
- (questionMark > -1 && colon > questionMark) ||
176
- (numberSign > -1 && colon > numberSign) ||
177
- safeProtocol.test(value.slice(0, colon))) {
178
- return value;
179
- }
180
- return "";
181
- }
182
- //# sourceMappingURL=ReactMarkdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReactMarkdown.js","sourceRoot":"","sources":["../../../src/lib/components/ReactMarkdown.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"remarkStaticGeneration.js","sourceRoot":"","sources":["../../src/vite/remarkStaticGeneration.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeBlock-yJjjRwj-.js","sources":["../src/lib/util/useCopyToClipboard.ts","../src/lib/ui/CodeBlock.tsx"],"sourcesContent":["import { useCallback, useState } from \"react\";\n\nexport const useCopyToClipboard = (timeout = 2000) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const copyToClipboard = useCallback(\n (text: string) => {\n void navigator.clipboard.writeText(text);\n setIsCopied(true);\n\n setTimeout(() => setIsCopied(false), timeout);\n },\n [timeout],\n );\n\n return [isCopied, copyToClipboard] as const;\n};\n","import { CheckIcon, CopyIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { useRef } from \"react\";\nimport { cn } from \"../util/cn.js\";\nimport { useCopyToClipboard } from \"../util/useCopyToClipboard.js\";\n\nexport type CodeBlockProps = {\n className?: string;\n noBackground?: boolean;\n wrapLines?: boolean;\n showLanguageIndicator?: boolean;\n language?: string;\n title?: string;\n children?: ReactNode;\n code?: ReactNode;\n showCopy?: \"hover\" | \"always\" | \"never\";\n disabled?: boolean;\n showLineNumbers?: boolean;\n};\n\nconst IconToLanguageMap: Record<string, RegExp> = {\n typescript: /(tsx?|typescript)/,\n javascript: /(jsx?|javascript)/,\n markdown: /(md|markdown)/,\n mdx: /mdx/,\n json: /json/,\n yaml: /yaml/,\n toml: /toml/,\n gnubash: /(shell|bash|sh|zsh)/,\n python: /(py|python)/,\n dotnet: /(^cs$|csharp|vb)/,\n rust: /(rs|rust)/,\n ruby: /(rb|ruby)/,\n php: /php/,\n html5: /html?/,\n css: /css/,\n};\n\nconst getIconUrl = (language?: string) => {\n if (!language) return undefined;\n\n const icon = Object.entries(IconToLanguageMap).find(([_, regex]) =>\n regex.test(language),\n );\n return icon\n ? `https://cdn.simpleicons.org/${icon[0]}/000/fff?viewbox=auto`\n : undefined;\n};\n\nexport const CodeBlock = ({\n children,\n title = \"Code\",\n language,\n showCopy = \"hover\",\n showLanguageIndicator,\n showLineNumbers,\n ...props\n}: CodeBlockProps) => {\n const [isCopied, copyToClipboard] = useCopyToClipboard();\n const ref = useRef<HTMLDivElement>(null);\n\n if (!children) return null;\n\n const iconUrl = showLanguageIndicator ? getIconUrl(language) : undefined;\n\n return (\n <div\n className={cn(\n \"border code-block-wrapper relative group bg-muted/50 rounded-md overflow-hidden\",\n showLineNumbers && \"line-numbers\",\n )}\n >\n <div className=\"border-b flex items-center h-10 font-sans bg-black/2\">\n <div className=\"flex items-center gap-2 flex-1 text-sm w-full px-3\">\n {iconUrl && <img src={iconUrl} className=\"h-3 max-w-4\" />}\n {title}\n </div>{\" \"}\n {showCopy !== \"never\" && (\n <button\n type=\"button\"\n aria-label=\"Copy code\"\n title=\"Copy code\"\n className={cn(\n \"transition px-2 py-2 mx-1 rounded-sm\",\n !isCopied && \"hover:bg-accent hover:brightness-95\",\n )}\n disabled={isCopied}\n onClick={() => {\n if (!ref.current?.textContent) return;\n\n copyToClipboard(ref.current.textContent);\n }}\n >\n {isCopied ? (\n <CheckIcon className=\"text-emerald-600\" size={14} />\n ) : (\n <CopyIcon size={14} />\n )}\n </button>\n )}\n </div>\n <div\n className={cn(\n \"code-block text-sm not-prose scrollbar overflow-x-auto scrollbar [&_code]:p-3 [&_code]:py-2\",\n props.className,\n )}\n ref={ref}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"names":["useCopyToClipboard","timeout","isCopied","setIsCopied","useState","copyToClipboard","useCallback","text","IconToLanguageMap","getIconUrl","language","icon","_","regex","CodeBlock","children","title","showCopy","showLanguageIndicator","showLineNumbers","props","ref","useRef","iconUrl","jsxs","cn","jsx","CheckIcon","CopyIcon"],"mappings":";;;;AAEO,MAAMA,IAAqB,CAACC,IAAU,QAAS;AACpD,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK,GAExCC,IAAkBC;AAAA,IACtB,CAACC,MAAiB;AAChB,MAAK,UAAU,UAAU,UAAUA,CAAI,GACvCJ,EAAY,EAAI,GAEhB,WAAW,MAAMA,EAAY,EAAK,GAAGF,CAAO;AAAA,IAC9C;AAAA,IACA,CAACA,CAAO;AAAA,EAAA;AAGV,SAAO,CAACC,GAAUG,CAAe;AACnC,GCIMG,IAA4C;AAAA,EAChD,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AACP,GAEMC,IAAa,CAACC,MAAsB;AACxC,MAAI,CAACA,EAAU;AAEf,QAAMC,IAAO,OAAO,QAAQH,CAAiB,EAAE;AAAA,IAAK,CAAC,CAACI,GAAGC,CAAK,MAC5DA,EAAM,KAAKH,CAAQ;AAAA,EAAA;AAErB,SAAOC,IACH,+BAA+BA,EAAK,CAAC,CAAC,0BACtC;AACN,GAEaG,IAAY,CAAC;AAAA,EACxB,UAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,UAAAN;AAAA,EACA,UAAAO,IAAW;AAAA,EACX,uBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,MAAsB;AACpB,QAAM,CAAClB,GAAUG,CAAe,IAAIL,EAAA,GAC9BqB,IAAMC,EAAuB,IAAI;AAEvC,MAAI,CAACP,EAAU,QAAO;AAEtB,QAAMQ,IAAUL,IAAwBT,EAAWC,CAAQ,IAAI;AAE/D,SACEc,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAN,KAAmB;AAAA,MAAA;AAAA,MAGrB,UAAA;AAAA,QAAAK,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,wDACb,UAAA;AAAA,UAAAA,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,sDACZ,UAAA;AAAA,YAAAD,KAAWG,gBAAAA,EAAAA,IAAC,OAAA,EAAI,KAAKH,GAAS,WAAU,eAAc;AAAA,YACtDP;AAAA,UAAA,GACH;AAAA,UAAO;AAAA,UACNC,MAAa,WACZS,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,cAAW;AAAA,cACX,OAAM;AAAA,cACN,WAAWD;AAAA,gBACT;AAAA,gBACA,CAACvB,KAAY;AAAA,cAAA;AAAA,cAEf,UAAUA;AAAA,cACV,SAAS,MAAM;AACb,gBAAKmB,EAAI,SAAS,eAElBhB,EAAgBgB,EAAI,QAAQ,WAAW;AAAA,cACzC;AAAA,cAEC,UAAAnB,IACCwB,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,oBAAmB,MAAM,GAAA,CAAI,IAElDD,gBAAAA,EAAAA,IAACE,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAExB,GAEJ;AAAA,QACAF,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAL,EAAM;AAAA,YAAA;AAAA,YAER,KAAAC;AAAA,YAEC,UAAAN;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Command-CDn17s8X.js","sources":["../src/lib/ui/Command.tsx"],"sourcesContent":["import { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\nimport { type ComponentPropsWithoutRef } from \"react\";\nimport { Dialog, DialogContent } from \"zudoku/ui/Dialog.js\";\nimport { cn } from \"../util/cn.js\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({\n children,\n command,\n content,\n ...props\n}: DialogProps & {\n command?: ComponentPropsWithoutRef<typeof CommandPrimitive>;\n content?: ComponentPropsWithoutRef<typeof DialogContent>;\n}) => {\n return (\n <Dialog {...props}>\n <DialogContent\n {...content}\n className={cn(\n \"overflow-hidden p-0 shadow-lg top-[15vh] translate-y-[0%]\",\n content?.className,\n )}\n aria-describedby={undefined}\n >\n <Command\n {...command}\n className={cn(\n \"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\",\n command?.className,\n )}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandInlineInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property\n <div className=\"flex items-center\" cmdk-input-wrapper=\"\">\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInlineInput.displayName = CommandPrimitive.Input.displayName;\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInlineInput,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["Command","React","className","props","ref","jsx","CommandPrimitive","cn","CommandDialog","children","command","content","Dialog","DialogContent","CommandInput","jsxs","Search","CommandInlineInput","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog-BrIjMmUK.js","sources":["../src/lib/ui/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport * as React from \"react\";\n\nimport { CircleIcon, XIcon } from \"lucide-react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n }\n>(({ className, children, showCloseButton = true, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close className=\"absolute p-3 group -left-1.5 -top-1.5 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <CircleIcon\n className=\"h-2 w-2 transition-all border border-transparent group-hover:border-white/20 rounded-full group-hover:scale-180 group-hover:text-red-400\"\n strokeWidth={2}\n fill=\"currentColor\"\n />\n <XIcon\n className=\"h-2 w-2 absolute top-3 left-3 text-transparent group-hover:text-red-800 transition-colors\"\n strokeWidth={2}\n fill=\"currentColor\"\n />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","showCloseButton","jsxs","CircleIcon","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;;AAMA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAE/BG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMW,IAAgBN,EAAM,WAK1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,iBAAAC,IAAkB,IAAM,GAAGN,EAAA,GAASC,6BAC3DN,GAAA,EACC,UAAA;AAAA,EAAAO,gBAAAA,EAAAA,IAACL,GAAA,EAAc;AAAA,EACfU,gBAAAA,EAAAA;AAAAA,IAACd,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACAC,KACCC,gBAAAA,EAAAA,KAACd,EAAgB,OAAhB,EAAsB,WAAU,kSAC/B,UAAA;AAAA,UAAAS,gBAAAA,EAAAA;AAAAA,YAACM;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,aAAa;AAAA,cACb,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEPN,gBAAAA,EAAAA;AAAAA,YAACO;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,aAAa;AAAA,cACb,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEPP,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,QAAA,EAAA,CACjC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAEJ,GACF,CACD;AACDE,EAAc,cAAcX,EAAgB,QAAQ;AAEpD,MAAMiB,IAAe,CAAC;AAAA,EACpB,WAAAX;AAAA,EACA,GAAGC;AACL,MACEE,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFU,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC;AAAA,EACpB,WAAAZ;AAAA,EACA,GAAGC;AACL,MACEE,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFW,EAAa,cAAc;AAE3B,MAAMC,IAAcd,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDY,EAAY,cAAcnB,EAAgB,MAAM;AAEhD,MAAMoB,IAAoBf,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDa,EAAkB,cAAcpB,EAAgB,YAAY;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdxPage-BmOQ5m5g.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { EditIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useEffect } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { type MarkdownPluginDefaultOptions, type MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </header>\n )}\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(undefined, {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label } : undefined}\n next={next ? { to: next.id, label: next.label } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","useMDXComponents","Button","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OAuthErrorPage-Jv3r8wnL.js","sources":["../src/lib/util/url.ts","../src/lib/authentication/components/CallbackHandler.tsx","../src/lib/authentication/components/OAuthErrorPage.tsx"],"sourcesContent":["/**\n * Normalizes a redirect URL by removing the origin and optionally the root path\n */\nexport function normalizeRedirectUrl(\n redirectTo: string,\n origin: string,\n basePath: string = \"/\",\n): string {\n if (!redirectTo.startsWith(origin)) {\n return redirectTo;\n }\n\n if (basePath !== \"/\" && redirectTo.startsWith(origin + basePath)) {\n return redirectTo.slice(origin.length + basePath.length);\n }\n\n return redirectTo.slice(origin.length);\n}\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Navigate } from \"react-router\";\nimport { useZudoku } from \"zudoku/components\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { normalizeRedirectUrl } from \"../../util/url.js\";\nimport { OAuthAuthorizationError, type OAuthErrorType } from \"../errors.js\";\n\nexport function CallbackHandler({\n handleCallback,\n}: {\n handleCallback: () => Promise<string>;\n}) {\n const { options } = useZudoku();\n const executeCallback = useSuspenseQuery({\n retry: false,\n queryKey: [\"oauth-callback\"],\n queryFn: async () => {\n const url = new URL(window.location.href);\n\n const errorParam = url.searchParams.get(\"error\");\n const errorDescription =\n url.searchParams.get(\"error_description\") ?? undefined;\n const errorUri = url.searchParams.get(\"error_uri\") ?? undefined;\n if (errorParam) {\n throw new OAuthAuthorizationError(\n `OAuth error '${errorParam}': ${errorDescription}`,\n {\n error: errorParam as OAuthErrorType,\n error_description: errorDescription,\n error_uri: errorUri,\n },\n );\n }\n return joinUrl(\n normalizeRedirectUrl(\n await handleCallback(),\n window.location.origin,\n options.basePath,\n ),\n );\n },\n });\n\n return <Navigate to={executeCallback.data} replace />;\n}\n","import { HomeIcon } from \"lucide-react\";\nimport { Link } from \"react-router\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { OAuthAuthorizationError } from \"../errors.js\";\nimport { useAuth } from \"../hook.js\";\n\nconst errorDetailsMap: Record<string, { message: string }> = {\n invalid_request: {\n message:\n \"The authentication request was invalid. Please try signing in again.\",\n },\n unauthorized_client: {\n message:\n \"This application is not authorized to access your account. Please contact support.\",\n },\n access_denied: {\n message:\n \"You denied access to this application. To continue, please sign in and grant access.\",\n },\n unsupported_response_type: {\n message:\n \"The authentication method is not supported. Please contact support.\",\n },\n invalid_scope: {\n message: \"The requested permissions are invalid. Please contact support.\",\n },\n server_error: {\n message:\n \"The authentication server encountered an error. Please try again in a few moments.\",\n },\n temporarily_unavailable: {\n message:\n \"The authentication service is temporarily unavailable. Please try again in a few moments.\",\n },\n // Token errors\n invalid_client: {\n message: \"Invalid application credentials. Please contact support.\",\n },\n invalid_grant: {\n message:\n \"The authentication code has expired or is invalid. Please sign in again.\",\n },\n unsupported_grant_type: {\n message:\n \"The authentication method is not supported. Please contact support.\",\n },\n // Custom errors\n invalid_state: {\n message:\n \"Security validation failed. This may be due to a potential security attack. Please try signing in again.\",\n },\n missing_code_verifier: {\n message:\n \"Authentication security information is missing. Please clear your browser cache and try again.\",\n },\n network_error: {\n message:\n \"A network error occurred during authentication. Please check your connection and try again.\",\n },\n token_expired: {\n message: \"Your authentication session has expired. Please sign in again.\",\n },\n configuration_error: {\n message:\n \"There is an issue with the authentication configuration. Please contact support.\",\n },\n unknown_error: {\n message:\n \"An unexpected error occurred during authentication. Please try again or contact support.\",\n },\n};\n\nexport function OAuthErrorPage({ error }: { error: any }) {\n const { login } = useAuth();\n\n if (!(error instanceof OAuthAuthorizationError)) {\n throw error;\n }\n\n const oauthError = error.error;\n const type = oauthError.error;\n\n const details = errorDetailsMap[type] ?? errorDetailsMap.unknown_error;\n\n return (\n <div className=\"min-h-[400px] flex items-center justify-center p-4\">\n <div className=\"max-w-md w-full text-center space-y-6\">\n <div className=\"space-y-4 items-center\">\n <Heading level={2} className=\"text-2xl inline-block font-bold\">\n {titles[type] || \"Authentication Error\"}\n </Heading>\n\n <Typography className=\"text-gray-600 dark:text-gray-300 leading-relaxed\">\n {details?.message}\n </Typography>\n\n {/* Technical details for developers (only in development) */}\n </div>\n\n {/* Action Buttons */}\n <div className=\"space-y-3 pt-4\">\n <div className=\"space-y-2\">\n {(type === \"access_denied\" ||\n type === \"invalid_grant\" ||\n type === \"token_expired\") && (\n <Button\n onClick={login}\n className=\"w-full capitalize\"\n variant={\"default\"}\n >\n Sign in again\n </Button>\n )}\n </div>\n\n <div className=\"flex gap-2\">\n <Button asChild className=\"flex-1\" variant=\"outline\">\n <Link to=\"/\">\n <HomeIcon className=\"w-4 h-4 mr-2\" />\n Go Home\n </Link>\n </Button>\n </div>\n </div>\n\n {/* Additional Help */}\n {helpMessages[type] && (\n <Typography className=\"text-sm text-gray-500 dark:text-gray-400\">\n {helpMessages[type]}\n </Typography>\n )}\n </div>\n </div>\n );\n}\n\nconst titles: Record<string, string> = {\n access_denied: \"Access Denied\",\n invalid_request: \"Invalid Request\",\n unauthorized_client: \"Unauthorized Application\",\n unsupported_response_type: \"Unsupported Method\",\n invalid_scope: \"Invalid Permissions\",\n server_error: \"Server Error\",\n temporarily_unavailable: \"Service Unavailable\",\n invalid_client: \"Invalid Credentials\",\n invalid_grant: \"Authentication Expired\",\n unsupported_grant_type: \"Unsupported Authentication\",\n invalid_state: \"Security Check Failed\",\n missing_code_verifier: \"Security Information Missing\",\n network_error: \"Network Error\",\n token_expired: \"Session Expired\",\n configuration_error: \"Configuration Error\",\n unknown_error: \"Authentication Failed\",\n};\n\nconst helpMessages: Record<string, string> = {\n access_denied:\n \"If you changed your mind, you can try signing in again to grant access.\",\n invalid_state:\n \"This error can occur if you have multiple tabs open or if your session was compromised.\",\n missing_code_verifier:\n \"Try clearing your browser's cache and cookies for this site.\",\n network_error:\n \"Check your internet connection and ensure you can access other websites.\",\n server_error:\n \"The issue is on our end. Our team has been notified and is working to fix it.\",\n temporarily_unavailable:\n \"This is usually temporary. Try again in a few minutes.\",\n};\n"],"names":["normalizeRedirectUrl","redirectTo","origin","basePath","CallbackHandler","handleCallback","options","useZudoku","executeCallback","useSuspenseQuery","url","errorParam","errorDescription","errorUri","OAuthAuthorizationError","joinUrl","Navigate","errorDetailsMap","OAuthErrorPage","error","login","useAuth","type","details","jsxs","jsx","Heading","titles","Typography","Button","Link","HomeIcon","helpMessages"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OasProvider-CA_lpILt.js","sources":["../src/lib/util/joinPath.tsx","../src/lib/plugins/openapi/OasProvider.tsx"],"sourcesContent":["/**\n * @deprecated Use `joinUrl` instead.\n */\nexport const joinPath = (\n ...parts: Array<string | null | undefined | boolean>\n) => {\n const cleanPath = parts\n .filter((part): part is string => Boolean(part))\n .map((part) => part.replace(/(^\\/+|\\/+$)/g, \"\")) // Strip leading and trailing slashes\n .join(\"/\")\n .replace(/(^\\/+|\\/+$)/g, \"\");\n\n return cleanPath ? `/${cleanPath}` : \"/\";\n};\n","import { useMemo } from \"react\";\nimport { Outlet } from \"react-router\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport type { GraphQLClient } from \"./client/GraphQLClient.js\";\nimport { GraphQLProvider } from \"./client/GraphQLContext.js\";\nimport { OasConfigProvider } from \"./context.js\";\nimport { type OasPluginConfig } from \"./interfaces.js\";\nimport { getVersions } from \"./util/getRoutes.js\";\n\nexport const OasProvider = ({\n basePath,\n version,\n config,\n client,\n}: {\n basePath: string;\n version?: string;\n config: OasPluginConfig;\n client: GraphQLClient;\n}) => {\n const value = useMemo(() => {\n const versions = getVersions(config);\n const firstVersion = Object.values(config.input).at(0);\n const input =\n config.type === \"file\"\n ? {\n type: config.type,\n input: version ? config.input[version]! : firstVersion!,\n }\n : { type: config.type, input: config.input };\n\n return {\n config: {\n ...config,\n version: version ?? versions.at(0),\n versions: Object.fromEntries(\n versions.map((version) => [version, joinPath(basePath, version)]),\n ),\n ...input,\n },\n };\n }, [config, basePath, version]);\n\n return (\n <OasConfigProvider value={value}>\n <GraphQLProvider client={client}>\n <Outlet />\n </GraphQLProvider>\n </OasConfigProvider>\n );\n};\n"],"names":["joinPath","parts","cleanPath","part","OasProvider","basePath","version","config","client","value","useMemo","versions","getVersions","firstVersion","input","jsx","OasConfigProvider","GraphQLProvider","Outlet"],"mappings":";;;;AAGO,MAAMA,IAAW,IACnBC,MACA;AACH,QAAMC,IAAYD,EACf,OAAO,CAACE,MAAyB,EAAQA,CAAK,EAC9C,IAAI,CAACA,MAASA,EAAK,QAAQ,gBAAgB,EAAE,CAAC,EAC9C,KAAK,GAAG,EACR,QAAQ,gBAAgB,EAAE;AAE7B,SAAOD,IAAY,IAAIA,CAAS,KAAK;AACvC,GCJaE,IAAc,CAAC;AAAA,EAC1B,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AACF,MAKM;AACJ,QAAMC,IAAQC,EAAQ,MAAM;AAC1B,UAAMC,IAAWC,EAAYL,CAAM,GAC7BM,IAAe,OAAO,OAAON,EAAO,KAAK,EAAE,GAAG,CAAC,GAC/CO,IACJP,EAAO,SAAS,SACZ;AAAA,MACE,MAAMA,EAAO;AAAA,MACb,OAAOD,IAAUC,EAAO,MAAMD,CAAO,IAAKO;AAAA,IAAA,IAE5C,EAAE,MAAMN,EAAO,MAAM,OAAOA,EAAO,MAAA;AAEzC,WAAO;AAAA,MACL,QAAQ;AAAA,QACN,GAAGA;AAAA,QACH,SAASD,KAAWK,EAAS,GAAG,CAAC;AAAA,QACjC,UAAU,OAAO;AAAA,UACfA,EAAS,IAAI,CAACL,MAAY,CAACA,GAASN,EAASK,GAAUC,CAAO,CAAC,CAAC;AAAA,QAAA;AAAA,QAElE,GAAGQ;AAAA,MAAA;AAAA,IACL;AAAA,EAEJ,GAAG,CAACP,GAAQF,GAAUC,CAAO,CAAC;AAE9B,SACES,gBAAAA,EAAAA,IAACC,KAAkB,OAAAP,GACjB,UAAAM,gBAAAA,EAAAA,IAACE,KAAgB,QAAAT,GACf,UAAAO,gBAAAA,EAAAA,IAACG,GAAA,CAAA,CAAO,EAAA,CACV,EAAA,CACF;AAEJ;"}