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
@@ -16,7 +16,7 @@ import { useZudoku } from "../../components/context/ZudokuContext.js";
16
16
  import { useAuth } from "../../hooks/index.js";
17
17
  import { Button } from "../../ui/Button.js";
18
18
  import { Input } from "../../ui/Input.js";
19
- import { type ApiKeyService } from "./index.js";
19
+ import type { ApiKeyService } from "./index.js";
20
20
 
21
21
  type CreateApiKey = { description?: string; expiresOn?: string };
22
22
 
@@ -36,7 +36,7 @@ import { Input } from "../../ui/Input.js";
36
36
  import { cn } from "../../util/cn.js";
37
37
  import { useCopyToClipboard } from "../../util/useCopyToClipboard.js";
38
38
  import { CreateApiKey } from "./CreateApiKey.js";
39
- import { type ApiConsumer, type ApiKey, type ApiKeyService } from "./index.js";
39
+ import type { ApiConsumer, ApiKey, ApiKeyService } from "./index.js";
40
40
 
41
41
  export const SettingsApiKeys = ({ service }: { service: ApiKeyService }) => {
42
42
  const context = useZudoku();
@@ -90,7 +90,7 @@ export const SettingsApiKeys = ({ service }: { service: ApiKeyService }) => {
90
90
 
91
91
  return { previousData };
92
92
  },
93
- onError: (err, variables, context) => {
93
+ onError: (_err, _variables, context) => {
94
94
  if (context?.previousData) {
95
95
  queryClient.setQueryData(["api-keys"], context.previousData);
96
96
  }
@@ -136,7 +136,7 @@ export const SettingsApiKeys = ({ service }: { service: ApiKeyService }) => {
136
136
 
137
137
  return { previousData };
138
138
  },
139
- onError: (err, variables, context) => {
139
+ onError: (_err, _variables, context) => {
140
140
  if (context?.previousData) {
141
141
  queryClient.setQueryData(["api-keys"], context.previousData);
142
142
  }
@@ -290,7 +290,7 @@ export const SettingsApiKeys = ({ service }: { service: ApiKeyService }) => {
290
290
  </div>
291
291
  </div>
292
292
  ) : (
293
- <>{consumers.label}</>
293
+ consumers.label
294
294
  )}
295
295
  <div className="text-muted-foreground text-xs">
296
296
  {consumers.createdOn}
@@ -444,8 +444,7 @@ const RevealApiKey = ({
444
444
  const isExpired = expiresOn && new Date(expiresOn) < new Date();
445
445
  const daysUntilExpiry = expiresOn
446
446
  ? Math.ceil(
447
- (new Date(expiresOn).getTime() - new Date().getTime()) /
448
- (1000 * 60 * 60 * 24),
447
+ (new Date(expiresOn).getTime() - Date.now()) / (1000 * 60 * 60 * 24),
449
448
  )
450
449
  : Infinity;
451
450
  const expiresSoon = daysUntilExpiry <= 7 && !isExpired;
@@ -1,12 +1,12 @@
1
1
  import { KeyRoundIcon } from "lucide-react";
2
- import { type RouteObject } from "react-router";
3
- import { UseAuthReturn } from "../../authentication/hook.js";
4
- import { type ZudokuContext } from "../../core/ZudokuContext.js";
5
- import {
6
- type ApiIdentityPlugin,
7
- type ProfileMenuPlugin,
8
- type ZudokuPlugin,
2
+ import type { RouteObject } from "react-router";
3
+ import type { UseAuthReturn } from "../../authentication/hook.js";
4
+ import type {
5
+ ApiIdentityPlugin,
6
+ ProfileMenuPlugin,
7
+ ZudokuPlugin,
9
8
  } from "../../core/plugins.js";
9
+ import type { ZudokuContext } from "../../core/ZudokuContext.js";
10
10
  import { RouterError } from "../../errors/RouterError.js";
11
11
  import invariant from "../../util/invariant.js";
12
12
  import { ProtectedRoute } from "./ProtectedRoute.js";
@@ -140,7 +140,7 @@ const createDefaultHandler = (
140
140
  },
141
141
  getConsumers: async (context) => {
142
142
  const request = new Request(
143
- DEFAULT_API_KEY_ENDPOINT + `/${deploymentName}/consumers`,
143
+ `${DEFAULT_API_KEY_ENDPOINT}/${deploymentName}/consumers`,
144
144
  );
145
145
  await context.signRequest(request);
146
146
 
@@ -1,4 +1,4 @@
1
- import { type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import type { RouteObject } from "react-router";
3
3
  import type { NavigationItem } from "../../../config/validators/NavigationSchema.js";
4
4
  import { traverseNavigation } from "../../components/navigation/utils.js";
@@ -6,15 +6,15 @@ import { type PropsWithChildren, useEffect } from "react";
6
6
  import { Button } from "zudoku/ui/Button.js";
7
7
  import { CategoryHeading } from "../../components/CategoryHeading.js";
8
8
  import { Heading } from "../../components/Heading.js";
9
- import { Pagination } from "../../components/Pagination.js";
10
- import { Typography } from "../../components/Typography.js";
11
9
  import { Toc } from "../../components/navigation/Toc.js";
12
10
  import {
13
11
  useCurrentItem,
14
12
  usePrevNext,
15
13
  } from "../../components/navigation/utils.js";
14
+ import { Pagination } from "../../components/Pagination.js";
15
+ import { Typography } from "../../components/Typography.js";
16
16
  import type { MdxComponentsType } from "../../util/MdxComponents.js";
17
- import { type MarkdownPluginDefaultOptions, type MDXImport } from "./index.js";
17
+ import type { MarkdownPluginDefaultOptions, MDXImport } from "./index.js";
18
18
 
19
19
  declare global {
20
20
  interface Window {
@@ -171,8 +171,8 @@ export const MdxPage = ({
171
171
  <>
172
172
  <div className="h-px bg-border mt-2 mb-6" />
173
173
  <Pagination
174
- prev={prev ? { to: prev.id, label: prev.label } : undefined}
175
- next={next ? { to: next.id, label: next.label } : undefined}
174
+ prev={prev ? { to: prev.id, label: prev.label ?? "" } : undefined}
175
+ next={next ? { to: next.id, label: next.label ?? "" } : undefined}
176
176
  className="mb-10"
177
177
  />
178
178
  </>
@@ -1,6 +1,6 @@
1
1
  import type { Toc } from "@stefanprobst/rehype-extract-toc";
2
2
  import type { MDXProps } from "mdx/types.js";
3
- import { type JSX } from "react";
3
+ import type { JSX } from "react";
4
4
  import type { ZudokuDocsConfig } from "../../../config/validators/validate.js";
5
5
  import type { ZudokuPlugin } from "../../core/plugins.js";
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { useTheme } from "next-themes";
2
- import { useEffect, useRef, type CSSProperties, type ReactNode } from "react";
2
+ import { type CSSProperties, type ReactNode, useEffect, useRef } from "react";
3
3
  import { cn } from "../../util/cn.js";
4
4
  import { pastellize } from "../../util/pastellize.js";
5
5
 
@@ -86,6 +86,8 @@ export const ColorizedParam = ({
86
86
  }, [normalizedSlug]);
87
87
 
88
88
  return (
89
+ // biome-ignore lint/a11y/noStaticElementInteractions: Just passing props through
90
+ // biome-ignore lint/a11y/useKeyWithClickEvents: Just passing props through
89
91
  <span
90
92
  {...{ [DATA_ATTR]: normalizedSlug }}
91
93
  className={cn(
@@ -54,9 +54,9 @@ export const Endpoint = () => {
54
54
 
55
55
  const { servers } = result.data.schema;
56
56
 
57
- if (servers.length === 0) return null;
57
+ const firstServer = servers.at(0);
58
58
 
59
- const firstServer = servers.at(0)!;
59
+ if (!firstServer) return null;
60
60
 
61
61
  if (servers.length === 1) {
62
62
  return (
@@ -4,7 +4,7 @@ import { joinPath } from "../../util/joinPath.js";
4
4
  import type { GraphQLClient } from "./client/GraphQLClient.js";
5
5
  import { GraphQLProvider } from "./client/GraphQLContext.js";
6
6
  import { OasConfigProvider } from "./context.js";
7
- import { type OasPluginConfig } from "./interfaces.js";
7
+ import type { OasPluginConfig } from "./interfaces.js";
8
8
  import { getVersions } from "./util/getRoutes.js";
9
9
 
10
10
  export const OasProvider = ({
@@ -25,6 +25,7 @@ export const OasProvider = ({
25
25
  config.type === "file"
26
26
  ? {
27
27
  type: config.type,
28
+ // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
28
29
  input: version ? config.input[version]! : firstVersion!,
29
30
  }
30
31
  : { type: config.type, input: config.input };
@@ -1,4 +1,4 @@
1
- import { type ResultOf } from "@graphql-typed-document-node/core";
1
+ import type { ResultOf } from "@graphql-typed-document-node/core";
2
2
  import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
3
3
  import { Helmet } from "@zudoku/react-helmet-async";
4
4
  import { ChevronsDownUpIcon, ChevronsUpDownIcon } from "lucide-react";
@@ -16,16 +16,16 @@ import {
16
16
  SelectValue,
17
17
  } from "zudoku/ui/Select.js";
18
18
  import { CategoryHeading } from "../../components/CategoryHeading.js";
19
+ import { useApiIdentities } from "../../components/context/ZudokuContext.js";
19
20
  import { Heading } from "../../components/Heading.js";
20
21
  import { Markdown } from "../../components/Markdown.js";
21
22
  import { Pagination } from "../../components/Pagination.js";
22
- import { useApiIdentities } from "../../components/context/ZudokuContext.js";
23
- import { Endpoint } from "./Endpoint.js";
24
- import { OperationListItem } from "./OperationListItem.js";
25
23
  import { useCreateQuery } from "./client/useCreateQuery.js";
26
24
  import { useOasConfig } from "./context.js";
25
+ import { Endpoint } from "./Endpoint.js";
27
26
  import { graphql } from "./graphql/index.js";
28
27
  import { UNTAGGED_PATH } from "./index.js";
28
+ import { OperationListItem } from "./OperationListItem.js";
29
29
  import { useSelectedServer } from "./state.js";
30
30
  import { sanitizeMarkdownForMetatag } from "./util/sanitizeMarkdownForMetatag.js";
31
31
 
@@ -258,6 +258,7 @@ export const OperationList = ({
258
258
  <div className="flex flex-col gap-4 sm:items-end">
259
259
  {showVersions && (
260
260
  <Select
261
+ // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
261
262
  onValueChange={(version) => navigate(versions[version]!)}
262
263
  defaultValue={version}
263
264
  disabled={!hasMultipleVersions}
@@ -6,13 +6,13 @@ import { Markdown } from "../../components/Markdown.js";
6
6
  import { cn } from "../../util/cn.js";
7
7
  import { groupBy } from "../../util/groupBy.js";
8
8
  import { renderIf } from "../../util/renderIf.js";
9
- import { OperationsFragment } from "./OperationList.js";
10
- import { ParameterList } from "./ParameterList.js";
11
- import { Sidecar } from "./Sidecar.js";
12
9
  import { ResponseContent } from "./components/ResponseContent.js";
13
10
  import { SelectOnClick } from "./components/SelectOnClick.js";
14
11
  import { useOasConfig } from "./context.js";
15
12
  import { type FragmentType, useFragment } from "./graphql/index.js";
13
+ import { OperationsFragment } from "./OperationList.js";
14
+ import { ParameterList } from "./ParameterList.js";
15
+ import { Sidecar } from "./Sidecar.js";
16
16
  import { SchemaView } from "./schema/SchemaView.js";
17
17
  import { methodForColor } from "./util/methodToColor.js";
18
18
 
@@ -86,23 +86,21 @@ export const OperationListItem = ({
86
86
  content={operation.description}
87
87
  />
88
88
  )}
89
- {operation.parameters && operation.parameters.length > 0 && (
90
- <>
91
- {PARAM_GROUPS.flatMap((group) =>
92
- groupedParameters[group]?.length ? (
93
- <ParameterList
94
- key={group}
95
- summary={operation.summary ?? undefined}
96
- id={operation.slug}
97
- parameters={groupedParameters[group]}
98
- group={group}
99
- />
100
- ) : (
101
- []
102
- ),
103
- )}
104
- </>
105
- )}
89
+ {operation.parameters &&
90
+ operation.parameters.length > 0 &&
91
+ PARAM_GROUPS.flatMap((group) =>
92
+ groupedParameters[group]?.length ? (
93
+ <ParameterList
94
+ key={group}
95
+ summary={operation.summary ?? undefined}
96
+ id={operation.slug}
97
+ parameters={groupedParameters[group]}
98
+ group={group}
99
+ />
100
+ ) : (
101
+ []
102
+ ),
103
+ )}
106
104
  {renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (
107
105
  <div className="mt-4 flex flex-col gap-4">
108
106
  <Heading
@@ -1,7 +1,7 @@
1
1
  import { ChevronsLeftRightIcon } from "lucide-react";
2
2
  import { isValidElement, useState } from "react";
3
3
  import { InlineCode } from "../../components/InlineCode.js";
4
- import { type SchemaObject } from "../../oas/parser/index.js";
4
+ import type { SchemaObject } from "../../oas/parser/index.js";
5
5
  import { cn } from "../../util/cn.js";
6
6
 
7
7
  const Pattern = ({ pattern }: { pattern: string }) => {
@@ -76,6 +76,7 @@ export const ParamInfos = ({
76
76
  return (
77
77
  <span className={className}>
78
78
  {filteredItems.map((item, index) => (
79
+ // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable
79
80
  <span className="text-muted-foreground" key={index}>
80
81
  {item}
81
82
  {index < filteredItems.length - 1 && (
@@ -2,14 +2,14 @@ import * as Collapsible from "@radix-ui/react-collapsible";
2
2
  import { MinusIcon, PlusIcon } from "lucide-react";
3
3
  import { useState } from "react";
4
4
  import { Markdown } from "../../components/Markdown.js";
5
- import { type SchemaObject } from "../../oas/graphql/index.js";
5
+ import type { SchemaObject } from "../../oas/graphql/index.js";
6
6
  import { Button } from "../../ui/Button.js";
7
7
  import { ColorizedParam } from "./ColorizedParam.js";
8
+ import { EnumValues } from "./components/EnumValues.js";
9
+ import { SelectOnClick } from "./components/SelectOnClick.js";
8
10
  import type { OperationListItemResult } from "./OperationList.js";
9
11
  import type { ParameterGroup } from "./OperationListItem.js";
10
12
  import { ParamInfos } from "./ParamInfos.js";
11
- import { EnumValues } from "./components/EnumValues.js";
12
- import { SelectOnClick } from "./components/SelectOnClick.js";
13
13
  import { SchemaExampleAndDefault } from "./schema/SchemaExampleAndDefault.js";
14
14
  import { SchemaView } from "./schema/SchemaView.js";
15
15
  import { isArrayType } from "./schema/utils.js";
@@ -1,7 +1,7 @@
1
1
  import { useAuth } from "zudoku/components";
2
2
  import type { OperationListItemResult } from "./OperationList.js";
3
3
  import { PlaygroundDialog } from "./playground/PlaygroundDialog.js";
4
- import { type Content } from "./SidecarExamples.js";
4
+ import type { Content } from "./SidecarExamples.js";
5
5
 
6
6
  export const PlaygroundDialogWrapper = ({
7
7
  server,
@@ -26,7 +26,7 @@ export const PlaygroundDialogWrapper = ({
26
26
  p.schema?.default ?? p.examples?.find((x) => x.value)?.value ?? "",
27
27
  defaultActive: p.required ?? false,
28
28
  isRequired: p.required ?? false,
29
- enum: p.schema?.type == "array" ? p.schema?.items?.enum : p.schema?.enum,
29
+ enum: p.schema?.type === "array" ? p.schema?.items?.enum : p.schema?.enum,
30
30
  type: p.schema?.type ?? "string",
31
31
  }));
32
32
 
@@ -37,7 +37,7 @@ export const PlaygroundDialogWrapper = ({
37
37
  name: p.name,
38
38
  defaultActive: p.required ?? false,
39
39
  isRequired: p.required ?? false,
40
- enum: p.schema?.type == "array" ? p.schema?.items?.enum : p.schema?.enum,
40
+ enum: p.schema?.type === "array" ? p.schema?.items?.enum : p.schema?.enum,
41
41
  type: p.schema?.type ?? "string",
42
42
  defaultValue: p.schema?.default,
43
43
  }));
@@ -1,8 +1,8 @@
1
1
  import * as Tabs from "@radix-ui/react-tabs";
2
2
  import { cn } from "../../util/cn.js";
3
+ import type { ResponseItem } from "./graphql/graphql.js";
3
4
  import * as SidecarBox from "./SidecarBox.js";
4
5
  import { SidecarExamples } from "./SidecarExamples.js";
5
- import type { ResponseItem } from "./graphql/graphql.js";
6
6
 
7
7
  export const ResponsesSidecarBox = ({
8
8
  responses,
@@ -8,9 +8,9 @@ import type { SchemaObject } from "../../oas/parser/index.js";
8
8
  import { SyntaxHighlight } from "../../ui/SyntaxHighlight.js";
9
9
  import { cn } from "../../util/cn.js";
10
10
  import { useOnScreen } from "../../util/useOnScreen.js";
11
- import { useCreateQuery } from "./client/useCreateQuery.js";
12
11
  import { CollapsibleCode } from "./CollapsibleCode.js";
13
12
  import { ColorizedParam } from "./ColorizedParam.js";
13
+ import { useCreateQuery } from "./client/useCreateQuery.js";
14
14
  import { useOasConfig } from "./context.js";
15
15
  import { graphql } from "./graphql/index.js";
16
16
  import type { OperationListItemResult } from "./OperationList.js";
@@ -174,6 +174,7 @@ export const Sidecar = ({
174
174
  language={selectedLang}
175
175
  noBackground
176
176
  className="[--scrollbar-color:gray] rounded-none text-xs max-h-[500px]"
177
+ // biome-ignore lint/style/noNonNullAssertion: code is guaranteed to be defined
177
178
  code={code!}
178
179
  />
179
180
  </CollapsibleCode>
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useMemo, useState } from "react";
2
- import { type SchemaObject } from "../../oas/parser/index.js";
2
+ import type { SchemaObject } from "../../oas/parser/index.js";
3
3
  import { SyntaxHighlight } from "../../ui/SyntaxHighlight.js";
4
4
  import { CollapsibleCode } from "./CollapsibleCode.js";
5
5
  import type { OperationListItemResult } from "./OperationList.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Children,
3
3
  createContext,
4
- ReactNode,
4
+ type ReactNode,
5
5
  useContext,
6
6
  useEffect,
7
7
  useState,
@@ -1,5 +1,5 @@
1
1
  import { createContext, type ReactNode } from "react";
2
- import { GraphQLClient } from "./GraphQLClient.js";
2
+ import type { GraphQLClient } from "./GraphQLClient.js";
3
3
 
4
4
  export const GraphQLContext = createContext<GraphQLClient | undefined>(
5
5
  undefined,
@@ -13,7 +13,6 @@ export const createServer = (config: OpenApiPluginOptions) =>
13
13
  schemaImports: config.schemaImports,
14
14
  },
15
15
  plugins: [
16
- // eslint-disable-next-line react-hooks/rules-of-hooks
17
16
  useLogger({
18
17
  logFn: (eventName, { args }) => {
19
18
  if (import.meta.env.PROD) return;
@@ -24,7 +23,7 @@ export const createServer = (config: OpenApiPluginOptions) =>
24
23
  const startEvent = eventName.replace("-end", "-start");
25
24
  const start = map.get(`${startEvent}-${args.operationName}`);
26
25
  if (start) {
27
- // eslint-disable-next-line no-console
26
+ // biome-ignore lint/suspicious/noConsole: Logging allowed here
28
27
  console.log(
29
28
  `[zudoku:debug] ${args.operationName} query took ${performance.now() - start}ms`,
30
29
  );
@@ -8,8 +8,9 @@ type NoExtraProps<T, U extends T = T> = U & {
8
8
  [K in Exclude<keyof U, keyof T>]?: never;
9
9
  };
10
10
 
11
- type VarArgs<TVariables> =
12
- TVariables extends Record<string, never> ? [] : [NoExtraProps<TVariables>];
11
+ type VarArgs<TVariables> = TVariables extends Record<string, never>
12
+ ? []
13
+ : [NoExtraProps<TVariables>];
13
14
 
14
15
  export const createQuery = <TResult, TVariables>(
15
16
  client: GraphQLClient,
@@ -1,5 +1,5 @@
1
1
  import { createContext, useContext } from "react";
2
- import { type OasPluginContext } from "./interfaces.js";
2
+ import type { OasPluginContext } from "./interfaces.js";
3
3
 
4
4
  const OasContext = createContext<{ config: OasPluginContext } | undefined>(
5
5
  undefined,
@@ -1,4 +1,3 @@
1
- /* eslint-disable */
2
1
  import type {
3
2
  DocumentTypeDecoration,
4
3
  ResultOf,
@@ -1,4 +1,3 @@
1
- /* eslint-disable */
2
1
  import * as types from "./graphql.js";
3
2
 
4
3
  /**
@@ -1,4 +1,3 @@
1
- /* eslint-disable */
2
1
  import type { DocumentTypeDecoration } from "@graphql-typed-document-node/core";
3
2
  export type Maybe<T> = T | null;
4
3
  export type InputMaybe<T> = Maybe<T>;
@@ -1,16 +1,16 @@
1
1
  import { CirclePlayIcon, LogInIcon } from "lucide-react";
2
- import { type ReactNode } from "react";
2
+ import type { ReactNode } from "react";
3
3
  import { matchPath } from "react-router";
4
4
  import type { NavigationItem } from "../../../config/validators/NavigationSchema.js";
5
5
  import { useAuth } from "../../authentication/hook.js";
6
- import { type ZudokuPlugin } from "../../core/plugins.js";
6
+ import type { ZudokuPlugin } from "../../core/plugins.js";
7
7
  import { Button } from "../../ui/Button.js";
8
8
  import { joinUrl } from "../../util/joinUrl.js";
9
9
  import { GraphQLClient } from "./client/GraphQLClient.js";
10
10
  import { createQuery } from "./client/useCreateQuery.js";
11
11
  import type { GetNavigationOperationsQuery as GetNavigationOperationsQueryResult } from "./graphql/graphql.js";
12
12
  import { graphql } from "./graphql/index.js";
13
- import { type OasPluginConfig } from "./interfaces.js";
13
+ import type { OasPluginConfig } from "./interfaces.js";
14
14
  import type { PlaygroundContentProps } from "./playground/Playground.js";
15
15
  import { PlaygroundDialog } from "./playground/PlaygroundDialog.js";
16
16
  import { createNavigationCategory } from "./util/createNavigationCategory.js";
@@ -133,6 +133,7 @@ export const openApiPlugin = (config: OasPluginConfig): ZudokuPlugin => {
133
133
  const versionParam = match?.params.version;
134
134
  const version = versionParam ?? getVersions(config).at(0);
135
135
  const { type } = config;
136
+ // biome-ignore lint/style/noNonNullAssertion: version is guaranteed to be defined
136
137
  const input = type === "file" ? config.input[version!] : config.input;
137
138
 
138
139
  const query = createQuery(client, GetNavigationOperationsQuery, {
@@ -160,7 +161,7 @@ export const openApiPlugin = (config: OasPluginConfig): ZudokuPlugin => {
160
161
  return [
161
162
  tag.name,
162
163
  createNavigationCategory({
163
- label: tag.name,
164
+ label: tag.extensions?.["x-displayName"] ?? tag.name,
164
165
  path: categoryPath,
165
166
  operations: tag.operations,
166
167
  collapsed: isCollapsed,
@@ -1,7 +1,7 @@
1
- import { type AuthState } from "../../authentication/state.js";
2
- import { type ZudokuContext } from "../../core/ZudokuContext.js";
1
+ import type { AuthState } from "../../authentication/state.js";
2
+ import type { ZudokuContext } from "../../core/ZudokuContext.js";
3
3
  import type { SchemaImports } from "../../oas/graphql/index.js";
4
- import { type OperationListItemResult } from "./OperationList.js";
4
+ import type { OperationListItemResult } from "./OperationList.js";
5
5
 
6
6
  type DynamicInput = () => Promise<unknown>;
7
7
 
@@ -19,12 +19,14 @@ type Example = {
19
19
  name: string;
20
20
  description?: string | null;
21
21
  externalValue?: string | null;
22
+ // biome-ignore lint/suspicious/noExplicitAny: Allow any type
22
23
  value?: any | null;
23
24
  summary?: string | null;
24
25
  };
25
26
 
26
27
  type Content = {
27
28
  mediaType: string;
29
+ // biome-ignore lint/suspicious/noExplicitAny: Allow any type
28
30
  schema?: any | null;
29
31
  encoding?: Array<{
30
32
  name: string;
@@ -3,13 +3,13 @@ import { useFormContext } from "react-hook-form";
3
3
  import { Collapsible, CollapsibleContent } from "zudoku/ui/Collapsible.js";
4
4
  import { Textarea } from "zudoku/ui/Textarea.js";
5
5
  import { cn } from "../../../util/cn.js";
6
- import { type Content } from "../SidecarExamples.js";
6
+ import type { Content } from "../SidecarExamples.js";
7
7
  import {
8
8
  CollapsibleHeader,
9
9
  CollapsibleHeaderTrigger,
10
10
  } from "./CollapsibleHeader.js";
11
11
  import ExamplesDropdown from "./ExamplesDropdown.js";
12
- import { type PlaygroundForm } from "./Playground.js";
12
+ import type { PlaygroundForm } from "./Playground.js";
13
13
 
14
14
  export const BodyPanel = ({ content }: { content?: Content }) => {
15
15
  const { register, setValue, watch } = useFormContext<PlaygroundForm>();
@@ -24,7 +24,7 @@ import {
24
24
  CollapsibleHeaderTrigger,
25
25
  } from "./CollapsibleHeader.js";
26
26
  import ParamsGrid, { ParamsGridItem } from "./ParamsGrid.js";
27
- import { type Header, type PlaygroundForm } from "./Playground.js";
27
+ import type { Header, PlaygroundForm } from "./Playground.js";
28
28
 
29
29
  const headerOptions = Object.freeze([
30
30
  "Accept",
@@ -10,7 +10,7 @@ import {
10
10
  DialogTitle,
11
11
  } from "zudoku/ui/Dialog.js";
12
12
  import { Label } from "zudoku/ui/Label.js";
13
- import { type ApiIdentity } from "../../../core/ZudokuContext.js";
13
+ import type { ApiIdentity } from "../../../core/ZudokuContext.js";
14
14
  import IdentitySelector from "./IdentitySelector.js";
15
15
 
16
16
  const IdentityDialog = ({
@@ -1,6 +1,6 @@
1
1
  import { Label } from "zudoku/ui/Label.js";
2
2
  import { RadioGroup, RadioGroupItem } from "zudoku/ui/RadioGroup.js";
3
- import { type ApiIdentity } from "../../../core/ZudokuContext.js";
3
+ import type { ApiIdentity } from "../../../core/ZudokuContext.js";
4
4
  import { NO_IDENTITY } from "./Playground.js";
5
5
 
6
6
  const IdentitySelector = ({
@@ -23,7 +23,7 @@ import { useHotkey } from "../../../hooks/useHotkey.js";
23
23
  import { cn } from "../../../util/cn.js";
24
24
  import { useCopyToClipboard } from "../../../util/useCopyToClipboard.js";
25
25
  import { useLatest } from "../../../util/useLatest.js";
26
- import { type Content } from "../SidecarExamples.js";
26
+ import type { Content } from "../SidecarExamples.js";
27
27
  import { useSelectedServer } from "../state.js";
28
28
  import BodyPanel from "./BodyPanel.js";
29
29
  import {
@@ -37,10 +37,10 @@ import { IdentityDialog } from "./IdentityDialog.js";
37
37
  import IdentitySelector from "./IdentitySelector.js";
38
38
  import { PathParams } from "./PathParams.js";
39
39
  import { QueryParams } from "./QueryParams.js";
40
+ import RequestLoginDialog from "./RequestLoginDialog.js";
40
41
  import { useIdentityStore } from "./rememberedIdentity.js";
41
42
  import { UrlPath } from "./request-panel/UrlPath.js";
42
43
  import { UrlQueryParams } from "./request-panel/UrlQueryParams.js";
43
- import RequestLoginDialog from "./RequestLoginDialog.js";
44
44
  import { ResultPanel } from "./result-panel/ResultPanel.js";
45
45
  import { useRememberSkipLoginDialog } from "./useRememberSkipLoginDialog.js";
46
46
 
@@ -17,7 +17,7 @@ import {
17
17
  } from "./CollapsibleHeader.js";
18
18
  import { InlineInput } from "./InlineInput.js";
19
19
  import ParamsGrid, { ParamsGridItem } from "./ParamsGrid.js";
20
- import { type PlaygroundForm, type QueryParam } from "./Playground.js";
20
+ import type { PlaygroundForm, QueryParam } from "./Playground.js";
21
21
 
22
22
  export const QueryParams = ({
23
23
  control,
@@ -1,7 +1,7 @@
1
1
  import { useFormContext } from "react-hook-form";
2
2
  import { PathRenderer } from "../../../../components/PathRenderer.js";
3
3
  import { ColorizedParam } from "../../ColorizedParam.js";
4
- import { type PlaygroundForm } from "../Playground.js";
4
+ import type { PlaygroundForm } from "../Playground.js";
5
5
 
6
6
  export const UrlPath = ({ url }: { url: string }) => {
7
7
  const { watch, setFocus } = useFormContext<PlaygroundForm>();
@@ -1,6 +1,6 @@
1
1
  import { Fragment } from "react";
2
2
  import { useFormContext } from "react-hook-form";
3
- import { type PlaygroundForm } from "../Playground.js";
3
+ import type { PlaygroundForm } from "../Playground.js";
4
4
 
5
5
  export const UrlQueryParams = () => {
6
6
  const { watch } = useFormContext<PlaygroundForm>();
@@ -31,9 +31,11 @@ const RealTimeCounter = () => {
31
31
  }, []);
32
32
 
33
33
  useLayoutEffect(() => {
34
+ const currentSpanRef = spanRef.current;
35
+ if (!currentSpanRef) return;
36
+
34
37
  // Create a text node and attach it to the span
35
38
  const textNode = document.createTextNode("0");
36
- const currentSpanRef = spanRef.current!;
37
39
 
38
40
  currentSpanRef.appendChild(textNode);
39
41
  textRef.current = textNode;