zudoku 0.0.0-fix-image-base-path.c9e0e61c → 0.0.0-fix-create-zudoku-copy-templates.1ca222e6

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 (682) 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/demo.js +1 -1
  6. package/dist/app/entry.client.js +6 -5
  7. package/dist/app/entry.client.js.map +1 -1
  8. package/dist/app/entry.server.js +3 -3
  9. package/dist/app/entry.server.js.map +1 -1
  10. package/dist/app/env.js +6 -6
  11. package/dist/app/env.js.map +1 -1
  12. package/dist/app/main.js +12 -4
  13. package/dist/app/main.js.map +1 -1
  14. package/dist/app/standalone.js +5 -2
  15. package/dist/app/standalone.js.map +1 -1
  16. package/dist/cli/cli.js +2 -1
  17. package/dist/cli/cli.js.map +1 -1
  18. package/dist/cli/cmds/build.d.ts +1 -1
  19. package/dist/cli/cmds/dev.d.ts +1 -1
  20. package/dist/cli/cmds/preview.d.ts +1 -1
  21. package/dist/cli/common/analytics/lib.js +1 -1
  22. package/dist/cli/common/analytics/lib.js.map +1 -1
  23. package/dist/cli/common/logger.js +0 -1
  24. package/dist/cli/common/logger.js.map +1 -1
  25. package/dist/cli/common/machine-id/lib.js +3 -2
  26. package/dist/cli/common/machine-id/lib.js.map +1 -1
  27. package/dist/cli/common/outdated.js +2 -1
  28. package/dist/cli/common/outdated.js.map +1 -1
  29. package/dist/cli/common/output.js +2 -3
  30. package/dist/cli/common/output.js.map +1 -1
  31. package/dist/cli/common/utils/box.js +2 -2
  32. package/dist/cli/common/utils/box.js.map +1 -1
  33. package/dist/cli/common/validators/lib.js +1 -1
  34. package/dist/cli/common/validators/lib.js.map +1 -1
  35. package/dist/cli/dev/handler.js +0 -4
  36. package/dist/cli/dev/handler.js.map +1 -1
  37. package/dist/codegen.js +2 -2
  38. package/dist/codegen.js.map +1 -1
  39. package/dist/config/loader.js.map +1 -1
  40. package/dist/config/validators/BuildSchema.d.ts +1 -1
  41. package/dist/config/validators/BuildSchema.js +3 -3
  42. package/dist/config/validators/BuildSchema.js.map +1 -1
  43. package/dist/config/validators/InputNavigationSchema.d.ts +27 -1
  44. package/dist/config/validators/InputNavigationSchema.js +5 -2
  45. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  46. package/dist/config/validators/InputNavigationSchema.test-d.js +2 -1
  47. package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -1
  48. package/dist/config/validators/NavigationSchema.d.ts +1 -1
  49. package/dist/config/validators/NavigationSchema.js +2 -2
  50. package/dist/config/validators/NavigationSchema.js.map +1 -1
  51. package/dist/config/validators/ProtectedRoutesSchema.d.ts +6 -5
  52. package/dist/config/validators/ProtectedRoutesSchema.js +5 -14
  53. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -1
  54. package/dist/config/validators/auth.d.ts +2 -2
  55. package/dist/config/validators/auth.js +1 -1
  56. package/dist/config/validators/auth.js.map +1 -1
  57. package/dist/config/validators/icon-types.d.ts +1 -1
  58. package/dist/config/validators/icon-types.js +4 -0
  59. package/dist/config/validators/icon-types.js.map +1 -1
  60. package/dist/config/validators/validate.d.ts +3 -14
  61. package/dist/config/validators/validate.js +4 -3
  62. package/dist/config/validators/validate.js.map +1 -1
  63. package/dist/config/validators/validate.test.js +1 -2
  64. package/dist/config/validators/validate.test.js.map +1 -1
  65. package/dist/flat-config.d.ts +331 -0
  66. package/dist/index.d.ts +6 -5
  67. package/dist/index.js +2 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/lib/MissingIcon.d.ts +1 -1
  70. package/dist/lib/MissingIcon.js.map +1 -1
  71. package/dist/lib/auth/issuer.test.js +1 -0
  72. package/dist/lib/auth/issuer.test.js.map +1 -1
  73. package/dist/lib/authentication/AuthenticationPlugin.d.ts +1 -1
  74. package/dist/lib/authentication/authentication.d.ts +1 -3
  75. package/dist/lib/authentication/components/OAuthErrorPage.d.ts +1 -1
  76. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  77. package/dist/lib/authentication/components/SignOut.js +1 -1
  78. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  79. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  80. package/dist/lib/authentication/providers/auth0.js +1 -1
  81. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  82. package/dist/lib/authentication/providers/azureb2c.d.ts +2 -2
  83. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  84. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  85. package/dist/lib/authentication/providers/openid.d.ts +2 -2
  86. package/dist/lib/authentication/providers/openid.js.map +1 -1
  87. package/dist/lib/authentication/providers/supabase.d.ts +2 -2
  88. package/dist/lib/authentication/providers/supabase.js +1 -0
  89. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  90. package/dist/lib/authentication/use-broadcast/shared.d.ts +1 -1
  91. package/dist/lib/authentication/use-broadcast/shared.js +3 -3
  92. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -1
  93. package/dist/lib/authentication/use-broadcast/useBroadcast.js +2 -2
  94. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -1
  95. package/dist/lib/components/Autocomplete.js.map +1 -1
  96. package/dist/lib/components/Bootstrap.js.map +1 -1
  97. package/dist/lib/components/BuildCheck.js +9 -1
  98. package/dist/lib/components/BuildCheck.js.map +1 -1
  99. package/dist/lib/components/Header.js +2 -4
  100. package/dist/lib/components/Header.js.map +1 -1
  101. package/dist/lib/components/Heading.d.ts +1 -1
  102. package/dist/lib/components/Heading.js +1 -1
  103. package/dist/lib/components/Heading.js.map +1 -1
  104. package/dist/lib/components/Layout.js +4 -7
  105. package/dist/lib/components/Layout.js.map +1 -1
  106. package/dist/lib/components/Markdown.js +2 -2
  107. package/dist/lib/components/Markdown.js.map +1 -1
  108. package/dist/lib/components/Meta.d.ts +2 -0
  109. package/dist/lib/components/Meta.js +11 -0
  110. package/dist/lib/components/Meta.js.map +1 -0
  111. package/dist/lib/components/MobileTopNavigation.js +4 -4
  112. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  113. package/dist/lib/components/PathRenderer.js +1 -1
  114. package/dist/lib/components/PathRenderer.js.map +1 -1
  115. package/dist/lib/components/Search.js +1 -1
  116. package/dist/lib/components/Search.js.map +1 -1
  117. package/dist/lib/components/Slot.js.map +1 -1
  118. package/dist/lib/components/Slot.test.js +7 -3
  119. package/dist/lib/components/Slot.test.js.map +1 -1
  120. package/dist/lib/components/TopNavigation.d.ts +1 -1
  121. package/dist/lib/components/TopNavigation.js +2 -2
  122. package/dist/lib/components/TopNavigation.js.map +1 -1
  123. package/dist/lib/components/Zudoku.js +2 -2
  124. package/dist/lib/components/Zudoku.js.map +1 -1
  125. package/dist/lib/components/context/ComponentsContext.js.map +1 -1
  126. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -1
  127. package/dist/lib/components/context/SlotProvider.js.map +1 -1
  128. package/dist/lib/components/context/ViewportAnchorContext.js +1 -1
  129. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  130. package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
  131. package/dist/lib/components/context/ZudokuProvider.d.ts +1 -1
  132. package/dist/lib/components/index.d.ts +0 -28
  133. package/dist/lib/components/index.js +1 -16
  134. package/dist/lib/components/index.js.map +1 -1
  135. package/dist/lib/components/navigation/NavigationCategory.js +6 -1
  136. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  137. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  138. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  139. package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -1
  140. package/dist/lib/components/navigation/Toc.js.map +1 -1
  141. package/dist/lib/components/navigation/ZudokuLogo.d.ts +1 -1
  142. package/dist/lib/components/navigation/utils.d.ts +3 -3
  143. package/dist/lib/components/navigation/utils.js +1 -2
  144. package/dist/lib/components/navigation/utils.js.map +1 -1
  145. package/dist/lib/core/ZudokuContext.d.ts +4 -2
  146. package/dist/lib/core/ZudokuContext.js +14 -3
  147. package/dist/lib/core/ZudokuContext.js.map +1 -1
  148. package/dist/lib/core/__internal.d.ts +37 -0
  149. package/dist/lib/core/__internal.js +26 -0
  150. package/dist/lib/core/__internal.js.map +1 -0
  151. package/dist/lib/core/router.d.ts +1 -0
  152. package/dist/lib/core/router.js +2 -0
  153. package/dist/lib/core/router.js.map +1 -0
  154. package/dist/lib/errors/ErrorAlert.js +0 -1
  155. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  156. package/dist/lib/errors/TopLevelError.d.ts +2 -2
  157. package/dist/lib/errors/TopLevelError.js +1 -2
  158. package/dist/lib/errors/TopLevelError.js.map +1 -1
  159. package/dist/lib/oas/graphql/circular.js +2 -2
  160. package/dist/lib/oas/graphql/circular.js.map +1 -1
  161. package/dist/lib/oas/graphql/index.js +2 -1
  162. package/dist/lib/oas/graphql/index.js.map +1 -1
  163. package/dist/lib/oas/parser/dereference/index.js +2 -1
  164. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  165. package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
  166. package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
  167. package/dist/lib/oas/parser/index.js +1 -1
  168. package/dist/lib/oas/parser/index.js.map +1 -1
  169. package/dist/lib/oas/parser/upgrade/index.js +2 -1
  170. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  171. package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +1 -1
  172. package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
  173. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +5 -6
  174. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  175. package/dist/lib/plugins/api-keys/index.d.ts +3 -3
  176. package/dist/lib/plugins/api-keys/index.js +1 -1
  177. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  178. package/dist/lib/plugins/custom-pages/index.d.ts +1 -1
  179. package/dist/lib/plugins/custom-pages/index.js +3 -0
  180. package/dist/lib/plugins/custom-pages/index.js.map +1 -1
  181. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  182. package/dist/lib/plugins/markdown/MdxPage.js +3 -3
  183. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  184. package/dist/lib/plugins/markdown/index.d.ts +1 -1
  185. package/dist/lib/plugins/openapi/ColorizedParam.js +4 -1
  186. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  187. package/dist/lib/plugins/openapi/Endpoint.js +2 -2
  188. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  189. package/dist/lib/plugins/openapi/OasProvider.d.ts +1 -1
  190. package/dist/lib/plugins/openapi/OasProvider.js +1 -0
  191. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  192. package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
  193. package/dist/lib/plugins/openapi/OperationList.js +8 -4
  194. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  195. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  196. package/dist/lib/plugins/openapi/OperationListItem.js +6 -4
  197. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  198. package/dist/lib/plugins/openapi/ParamInfos.d.ts +1 -1
  199. package/dist/lib/plugins/openapi/ParamInfos.js +11 -9
  200. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  201. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  202. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  203. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
  204. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
  205. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  206. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  207. package/dist/lib/plugins/openapi/Sidecar.js +4 -2
  208. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  209. package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
  210. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +1 -1
  211. package/dist/lib/plugins/openapi/client/createServer.js +1 -2
  212. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  213. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  214. package/dist/lib/plugins/openapi/context.d.ts +1 -1
  215. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  216. package/dist/lib/plugins/openapi/graphql/gql.js +0 -1
  217. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  218. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  219. package/dist/lib/plugins/openapi/index.d.ts +2 -2
  220. package/dist/lib/plugins/openapi/index.js +2 -1
  221. package/dist/lib/plugins/openapi/index.js.map +1 -1
  222. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -3
  223. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +1 -1
  224. package/dist/lib/plugins/openapi/playground/Headers.d.ts +1 -1
  225. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +1 -1
  226. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +1 -1
  227. package/dist/lib/plugins/openapi/playground/Playground.d.ts +1 -1
  228. package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
  229. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  230. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +1 -1
  231. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +3 -1
  232. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  233. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +2 -2
  234. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +1 -1
  235. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +1 -1
  236. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -1
  237. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +1 -0
  238. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
  239. package/dist/lib/plugins/openapi/processors/removeParameters.test.js +1 -0
  240. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
  241. package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -1
  242. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -1
  243. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +5 -0
  244. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +7 -0
  245. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +1 -0
  246. package/dist/lib/plugins/openapi/schema/{LogicalGroup/LogicalGroupItem.d.ts → AllOfGroup/AllOfGroupItem.d.ts} +1 -3
  247. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +10 -0
  248. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +1 -0
  249. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +4 -0
  250. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +16 -0
  251. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +1 -0
  252. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +0 -3
  253. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +7 -15
  254. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  255. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +2 -1
  256. package/dist/lib/plugins/openapi/schema/SchemaView.js +13 -8
  257. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  258. package/dist/lib/plugins/openapi/schema/UnionView.d.ts +4 -0
  259. package/dist/lib/plugins/openapi/schema/UnionView.js +30 -0
  260. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -0
  261. package/dist/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
  262. package/dist/lib/plugins/openapi/schema/union-helpers.js +48 -0
  263. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -0
  264. package/dist/lib/plugins/openapi/schema/utils.d.ts +0 -7
  265. package/dist/lib/plugins/openapi/schema/utils.js +0 -6
  266. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  267. package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +1 -1
  268. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +1 -1
  269. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  270. package/dist/lib/plugins/openapi/util/createNavigationCategory.js +1 -0
  271. package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -1
  272. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
  273. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +1 -2
  274. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  275. package/dist/lib/plugins/openapi/util/getRoutes.js +1 -1
  276. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  277. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
  278. package/dist/lib/plugins/search-inkeep/index.js +1 -1
  279. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  280. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +1 -1
  281. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  282. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -1
  283. package/dist/lib/plugins/search-pagefind/ResultList.js +4 -1
  284. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  285. package/dist/lib/plugins/search-pagefind/get-results.js +0 -1
  286. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
  287. package/dist/lib/shiki.d.ts +2 -5
  288. package/dist/lib/shiki.js +3 -6
  289. package/dist/lib/shiki.js.map +1 -1
  290. package/dist/lib/ui/Breadcrumb.js +1 -1
  291. package/dist/lib/ui/Breadcrumb.js.map +1 -1
  292. package/dist/lib/ui/Carousel.js.map +1 -1
  293. package/dist/lib/ui/CodeBlock.js +3 -3
  294. package/dist/lib/ui/CodeBlock.js.map +1 -1
  295. package/dist/lib/ui/Command.d.ts +2 -2
  296. package/dist/lib/ui/Command.js +2 -6
  297. package/dist/lib/ui/Command.js.map +1 -1
  298. package/dist/lib/ui/Dialog.js +2 -2
  299. package/dist/lib/ui/Dialog.js.map +1 -1
  300. package/dist/lib/ui/Form.d.ts +2 -2
  301. package/dist/lib/ui/Pagination.d.ts +1 -1
  302. package/dist/lib/ui/Pagination.js +1 -1
  303. package/dist/lib/ui/Pagination.js.map +1 -1
  304. package/dist/lib/ui/ToggleGroup.d.ts +1 -1
  305. package/dist/lib/util/MdxComponents.d.ts +1 -1
  306. package/dist/lib/util/MdxComponents.js +4 -2
  307. package/dist/lib/util/MdxComponents.js.map +1 -1
  308. package/dist/lib/util/cn.js.map +1 -1
  309. package/dist/lib/util/createVariantComponent.d.ts +2 -2
  310. package/dist/lib/util/createVariantComponent.js.map +1 -1
  311. package/dist/lib/util/groupBy.js +1 -0
  312. package/dist/lib/util/groupBy.js.map +1 -1
  313. package/dist/lib/util/humanFileSize.js +1 -1
  314. package/dist/lib/util/humanFileSize.js.map +1 -1
  315. package/dist/lib/util/invariant.js +3 -1
  316. package/dist/lib/util/invariant.js.map +1 -1
  317. package/dist/lib/util/pastellize.js +2 -2
  318. package/dist/lib/util/pastellize.js.map +1 -1
  319. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -1
  320. package/dist/lib/util/useScrollToAnchor.js +2 -0
  321. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  322. package/dist/ts.js +3 -3
  323. package/dist/ts.js.map +1 -1
  324. package/dist/vite/api/SchemaManager.js +6 -6
  325. package/dist/vite/api/SchemaManager.js.map +1 -1
  326. package/dist/vite/api/schema-codegen.js +1 -2
  327. package/dist/vite/api/schema-codegen.js.map +1 -1
  328. package/dist/vite/api/schema-codegen.test.js +1 -1
  329. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  330. package/dist/vite/build.js +1 -1
  331. package/dist/vite/build.js.map +1 -1
  332. package/dist/vite/dev-server.js +2 -2
  333. package/dist/vite/dev-server.js.map +1 -1
  334. package/dist/vite/error-handler.d.ts +2 -2
  335. package/dist/vite/error-handler.js.map +1 -1
  336. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -1
  337. package/dist/vite/mdx/remark-last-modified.js +0 -1
  338. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  339. package/dist/vite/mdx/remark-link-rewrite.js +1 -1
  340. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -1
  341. package/dist/vite/mdx/remark-static-generation.js +1 -1
  342. package/dist/vite/mdx/remark-static-generation.js.map +1 -1
  343. package/dist/vite/output.d.ts +1 -1
  344. package/dist/vite/output.js +1 -1
  345. package/dist/vite/output.js.map +1 -1
  346. package/dist/vite/plugin-api-keys.d.ts +1 -1
  347. package/dist/vite/plugin-api-keys.js +1 -1
  348. package/dist/vite/plugin-api-keys.js.map +1 -1
  349. package/dist/vite/plugin-api.js +4 -4
  350. package/dist/vite/plugin-api.js.map +1 -1
  351. package/dist/vite/plugin-auth.d.ts +1 -1
  352. package/dist/vite/plugin-auth.js +1 -1
  353. package/dist/vite/plugin-auth.js.map +1 -1
  354. package/dist/vite/plugin-component.d.ts +1 -1
  355. package/dist/vite/plugin-config-reload.d.ts +1 -1
  356. package/dist/vite/plugin-custom-pages.d.ts +1 -1
  357. package/dist/vite/plugin-custom-pages.js +1 -1
  358. package/dist/vite/plugin-custom-pages.js.map +1 -1
  359. package/dist/vite/plugin-docs.js +2 -2
  360. package/dist/vite/plugin-docs.js.map +1 -1
  361. package/dist/vite/plugin-frontmatter.js +1 -1
  362. package/dist/vite/plugin-frontmatter.js.map +1 -1
  363. package/dist/vite/plugin-mdx.d.ts +1 -1
  364. package/dist/vite/plugin-mdx.js +3 -2
  365. package/dist/vite/plugin-mdx.js.map +1 -1
  366. package/dist/vite/plugin-metadata.d.ts +1 -1
  367. package/dist/vite/plugin-navigation.d.ts +2 -2
  368. package/dist/vite/plugin-navigation.js +34 -35
  369. package/dist/vite/plugin-navigation.js.map +1 -1
  370. package/dist/vite/plugin-redirect.d.ts +1 -1
  371. package/dist/vite/plugin-redirect.js +1 -1
  372. package/dist/vite/plugin-redirect.js.map +1 -1
  373. package/dist/vite/plugin-search.d.ts +1 -1
  374. package/dist/vite/plugin-search.js +1 -1
  375. package/dist/vite/plugin-search.js.map +1 -1
  376. package/dist/vite/plugin-shiki-register.js +1 -1
  377. package/dist/vite/plugin-shiki-register.js.map +1 -1
  378. package/dist/vite/plugin-theme.js +6 -6
  379. package/dist/vite/plugin-theme.js.map +1 -1
  380. package/dist/vite/plugin-theme.test.js +2 -0
  381. package/dist/vite/plugin-theme.test.js.map +1 -1
  382. package/dist/vite/plugin.d.ts +1 -1
  383. package/dist/vite/plugin.js +2 -2
  384. package/dist/vite/plugin.js.map +1 -1
  385. package/dist/vite/prerender/FileWritingResponse.js +5 -3
  386. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  387. package/dist/vite/prerender/InMemoryResponse.js +3 -1
  388. package/dist/vite/prerender/InMemoryResponse.js.map +1 -1
  389. package/dist/vite/prerender/prerender.js +1 -1
  390. package/dist/vite/prerender/prerender.js.map +1 -1
  391. package/dist/vite/prerender/worker.d.ts +1 -1
  392. package/dist/vite/prerender/worker.js.map +1 -1
  393. package/dist/vite/reporter.js +2 -2
  394. package/dist/vite/reporter.js.map +1 -1
  395. package/dist/vite/shadcn-registry.d.ts +8 -33
  396. package/dist/vite/sitemap.js +14 -13
  397. package/dist/vite/sitemap.js.map +1 -1
  398. package/dist/zuplo/enrich-with-zuplo.js +3 -3
  399. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  400. package/dist/zuplo/policy-types.js +0 -1
  401. package/dist/zuplo/policy-types.js.map +1 -1
  402. package/dist/zuplo/with-zuplo.js +1 -1
  403. package/dist/zuplo/with-zuplo.js.map +1 -1
  404. package/lib/CategoryHeading-DCpZu3yG.js +17 -0
  405. package/lib/CategoryHeading-DCpZu3yG.js.map +1 -0
  406. package/lib/{CodeBlock-CVT6z0PP.js → CodeBlock-CX_J17Hf.js} +12 -12
  407. package/lib/CodeBlock-CX_J17Hf.js.map +1 -0
  408. package/lib/{Command-BYukybsa.js → Command-CUSlH0gJ.js} +21 -27
  409. package/lib/Command-CUSlH0gJ.js.map +1 -0
  410. package/lib/Dialog-BmgXWOaz.js +114 -0
  411. package/lib/Dialog-BmgXWOaz.js.map +1 -0
  412. package/lib/{MdxPage-plD-n8fm.js → MdxPage-yXbTtcWf.js} +19 -18
  413. package/lib/MdxPage-yXbTtcWf.js.map +1 -0
  414. package/lib/{OAuthErrorPage-BTP-t8Fq.js → OAuthErrorPage-rAKHHveX.js} +7 -7
  415. package/lib/OAuthErrorPage-rAKHHveX.js.map +1 -0
  416. package/lib/{OasProvider-CYf5xe1a.js → OasProvider-BW4OzAuR.js} +4 -3
  417. package/lib/OasProvider-BW4OzAuR.js.map +1 -0
  418. package/lib/{OperationList-C_-vAmhs.js → OperationList-CWxpdIbO.js} +309 -312
  419. package/lib/OperationList-CWxpdIbO.js.map +1 -0
  420. package/lib/{Pagination-BAO0V4os.js → Pagination-ZI2yyuxj.js} +3 -3
  421. package/lib/{Pagination-BAO0V4os.js.map → Pagination-ZI2yyuxj.js.map} +1 -1
  422. package/lib/RouteGuard-BIksrt_C.js +56 -0
  423. package/lib/RouteGuard-BIksrt_C.js.map +1 -0
  424. package/lib/RouterError-BYHrbLtD.js +41 -0
  425. package/lib/RouterError-BYHrbLtD.js.map +1 -0
  426. package/lib/{SchemaList-B8Ws7y1f.js → SchemaList-C4Sk-tLI.js} +15 -14
  427. package/lib/{SchemaList-B8Ws7y1f.js.map → SchemaList-C4Sk-tLI.js.map} +1 -1
  428. package/lib/SchemaView-B2BeAuci.js +429 -0
  429. package/lib/SchemaView-B2BeAuci.js.map +1 -0
  430. package/lib/{Select-ByPbK6BU.js → Select-DWh0wSay.js} +8 -8
  431. package/lib/{Select-ByPbK6BU.js.map → Select-DWh0wSay.js.map} +1 -1
  432. package/lib/{SignUp-BXxkBCGy.js → SignUp-CznaQsRx.js} +12 -12
  433. package/lib/SignUp-CznaQsRx.js.map +1 -0
  434. package/lib/{Slot-DDNiyFIv.js → Slot-BbdqiRXo.js} +1923 -2129
  435. package/lib/{Slot-DDNiyFIv.js.map → Slot-BbdqiRXo.js.map} +1 -1
  436. package/lib/{SyntaxHighlight-jSFm3PeK.js → SyntaxHighlight-CvzJ7DNa.js} +6 -9
  437. package/lib/{SyntaxHighlight-jSFm3PeK.js.map → SyntaxHighlight-CvzJ7DNa.js.map} +1 -1
  438. package/lib/{Toc-CKEI04R5.js → Toc-BAa-kpqN.js} +2 -2
  439. package/lib/{Toc-CKEI04R5.js.map → Toc-BAa-kpqN.js.map} +1 -1
  440. package/lib/{ZudokuContext-mDDq1hft.js → ZudokuContext-BR-lnR7O.js} +42 -43
  441. package/lib/{ZudokuContext-mDDq1hft.js.map → ZudokuContext-BR-lnR7O.js.map} +1 -1
  442. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +9204 -0
  443. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +1 -0
  444. package/lib/{circular-CyP38iiX.js → circular-BFte5TUt.js} +2 -2
  445. package/lib/{circular-CyP38iiX.js.map → circular-BFte5TUt.js.map} +1 -1
  446. package/lib/cn-dYga0KKN.js.map +1 -1
  447. package/lib/{createServer-B4w9HCV7.js → createServer-B4giw6jv.js} +12 -27
  448. package/lib/createServer-B4giw6jv.js.map +1 -0
  449. package/lib/{errors-v4zc7txj.js → errors-CjmCml50.js} +2 -2
  450. package/lib/errors-CjmCml50.js.map +1 -0
  451. package/lib/{hook-CGx8MPrU.js → hook-B4Q30zMI.js} +2 -2
  452. package/lib/{hook-CGx8MPrU.js.map → hook-B4Q30zMI.js.map} +1 -1
  453. package/lib/index-BuKx9nrj.js +1057 -0
  454. package/lib/index-BuKx9nrj.js.map +1 -0
  455. package/lib/{index-C5fXNRSh.js → index-CQGi1b3U.js} +2 -2
  456. package/lib/{index-C5fXNRSh.js.map → index-CQGi1b3U.js.map} +1 -1
  457. package/lib/{index-DnkZAg98.js → index-Dp3Fmnfq.js} +58 -55
  458. package/lib/index-Dp3Fmnfq.js.map +1 -0
  459. package/lib/{RouteGuard-gznKADdm.js → index.esm-BnYHxCYC.js} +226 -281
  460. package/lib/index.esm-BnYHxCYC.js.map +1 -0
  461. package/lib/invariant-Bm-FVUQE.js.map +1 -1
  462. package/lib/mutation-CiMUdKRU.js +196 -0
  463. package/lib/mutation-CiMUdKRU.js.map +1 -0
  464. package/lib/ui/Breadcrumb.js +22 -21
  465. package/lib/ui/Breadcrumb.js.map +1 -1
  466. package/lib/ui/Carousel.js.map +1 -1
  467. package/lib/ui/CodeBlock.js +1 -1
  468. package/lib/ui/Command.js +20 -26
  469. package/lib/ui/Command.js.map +1 -1
  470. package/lib/ui/Dialog.js +56 -41
  471. package/lib/ui/Dialog.js.map +1 -1
  472. package/lib/ui/Form.js.map +1 -1
  473. package/lib/ui/Pagination.js +28 -29
  474. package/lib/ui/Pagination.js.map +1 -1
  475. package/lib/ui/SyntaxHighlight.js +3 -3
  476. package/lib/ui/ToggleGroup.js.map +1 -1
  477. package/lib/{useExposedProps-DUoV7MCU.js → useExposedProps-BH9aq4MD.js} +32 -32
  478. package/lib/{useExposedProps-DUoV7MCU.js.map → useExposedProps-BH9aq4MD.js.map} +1 -1
  479. package/lib/useLatest-hmRS46UF.js +11 -0
  480. package/lib/useLatest-hmRS46UF.js.map +1 -0
  481. package/lib/zudoku.__internal.js +2974 -0
  482. package/lib/zudoku.__internal.js.map +1 -0
  483. package/lib/zudoku.auth-auth0.js +1 -1
  484. package/lib/zudoku.auth-auth0.js.map +1 -1
  485. package/lib/zudoku.auth-azureb2c.js +5 -5
  486. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  487. package/lib/zudoku.auth-clerk.js +2 -2
  488. package/lib/zudoku.auth-clerk.js.map +1 -1
  489. package/lib/zudoku.auth-openid.js +5 -5
  490. package/lib/zudoku.auth-openid.js.map +1 -1
  491. package/lib/zudoku.auth-supabase.js +3 -2
  492. package/lib/zudoku.auth-supabase.js.map +1 -1
  493. package/lib/zudoku.components.js +20 -28
  494. package/lib/zudoku.hooks.js +4 -4
  495. package/lib/zudoku.icons.js.map +1 -1
  496. package/lib/zudoku.plugin-api-catalog.js +18 -18
  497. package/lib/zudoku.plugin-api-keys.js +60 -59
  498. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  499. package/lib/zudoku.plugin-custom-pages.js +8 -5
  500. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  501. package/lib/zudoku.plugin-markdown.js +1 -1
  502. package/lib/zudoku.plugin-markdown.js.map +1 -1
  503. package/lib/zudoku.plugin-openapi.js +4 -4
  504. package/lib/zudoku.plugin-redirect.js +3 -3
  505. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  506. package/lib/zudoku.plugin-search-pagefind.js +15 -15
  507. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  508. package/lib/zudoku.router.js +123 -0
  509. package/lib/zudoku.router.js.map +1 -0
  510. package/package.json +17 -24
  511. package/src/app/ZuploBuildConfig.ts +1 -1
  512. package/src/app/demo.tsx +1 -1
  513. package/src/app/entry.client.tsx +7 -6
  514. package/src/app/entry.server.tsx +4 -4
  515. package/src/app/env.ts +6 -6
  516. package/src/app/main.tsx +22 -7
  517. package/src/app/standalone.tsx +8 -3
  518. package/src/lib/MissingIcon.tsx +1 -1
  519. package/src/lib/auth/issuer.test.ts +1 -0
  520. package/src/lib/authentication/AuthenticationPlugin.tsx +4 -4
  521. package/src/lib/authentication/authentication.ts +3 -3
  522. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  523. package/src/lib/authentication/components/SignOut.tsx +1 -1
  524. package/src/lib/authentication/providers/auth0.tsx +5 -5
  525. package/src/lib/authentication/providers/azureb2c.tsx +5 -5
  526. package/src/lib/authentication/providers/clerk.tsx +5 -5
  527. package/src/lib/authentication/providers/openid.tsx +6 -6
  528. package/src/lib/authentication/providers/supabase.tsx +7 -6
  529. package/src/lib/authentication/use-broadcast/shared.ts +4 -4
  530. package/src/lib/authentication/use-broadcast/useBroadcast.ts +2 -2
  531. package/src/lib/components/AnchorLink.tsx +1 -1
  532. package/src/lib/components/Autocomplete.tsx +1 -1
  533. package/src/lib/components/Bootstrap.tsx +1 -0
  534. package/src/lib/components/BuildCheck.tsx +12 -1
  535. package/src/lib/components/Header.tsx +5 -5
  536. package/src/lib/components/Heading.tsx +2 -3
  537. package/src/lib/components/Layout.tsx +3 -22
  538. package/src/lib/components/Markdown.tsx +5 -2
  539. package/src/lib/components/Meta.tsx +32 -0
  540. package/src/lib/components/MobileTopNavigation.tsx +11 -13
  541. package/src/lib/components/PathRenderer.tsx +2 -2
  542. package/src/lib/components/Search.tsx +1 -1
  543. package/src/lib/components/Slot.test.tsx +8 -8
  544. package/src/lib/components/Slot.tsx +2 -2
  545. package/src/lib/components/TopNavigation.tsx +3 -3
  546. package/src/lib/components/Zudoku.tsx +2 -2
  547. package/src/lib/components/context/ComponentsContext.tsx +2 -2
  548. package/src/lib/components/context/RouterEventsEmitter.tsx +1 -1
  549. package/src/lib/components/context/SlotProvider.tsx +4 -4
  550. package/src/lib/components/context/ViewportAnchorContext.tsx +2 -2
  551. package/src/lib/components/context/ZudokuContext.ts +1 -1
  552. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  553. package/src/lib/components/index.ts +1 -19
  554. package/src/lib/components/navigation/NavigationCategory.tsx +8 -1
  555. package/src/lib/components/navigation/NavigationItem.tsx +2 -2
  556. package/src/lib/components/navigation/NavigationWrapper.tsx +1 -1
  557. package/src/lib/components/navigation/Toc.tsx +2 -2
  558. package/src/lib/components/navigation/ZudokuLogo.tsx +1 -1
  559. package/src/lib/components/navigation/utils.ts +5 -6
  560. package/src/lib/core/ZudokuContext.ts +25 -6
  561. package/src/lib/core/__internal.tsx +30 -0
  562. package/src/lib/core/router.ts +1 -0
  563. package/src/lib/errors/ErrorAlert.tsx +0 -1
  564. package/src/lib/errors/TopLevelError.tsx +2 -4
  565. package/src/lib/hooks/useEvent.test.tsx +2 -2
  566. package/src/lib/oas/graphql/circular.ts +3 -3
  567. package/src/lib/oas/graphql/index.ts +2 -1
  568. package/src/lib/oas/parser/dereference/index.ts +2 -1
  569. package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
  570. package/src/lib/oas/parser/index.ts +2 -2
  571. package/src/lib/oas/parser/upgrade/index.ts +2 -1
  572. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  573. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +5 -6
  574. package/src/lib/plugins/api-keys/index.tsx +8 -8
  575. package/src/lib/plugins/custom-pages/index.tsx +4 -1
  576. package/src/lib/plugins/markdown/MdxPage.tsx +5 -5
  577. package/src/lib/plugins/markdown/index.tsx +1 -1
  578. package/src/lib/plugins/openapi/ColorizedParam.tsx +3 -1
  579. package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
  580. package/src/lib/plugins/openapi/OasProvider.tsx +2 -1
  581. package/src/lib/plugins/openapi/OperationList.tsx +5 -4
  582. package/src/lib/plugins/openapi/OperationListItem.tsx +18 -20
  583. package/src/lib/plugins/openapi/ParamInfos.tsx +10 -9
  584. package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -3
  585. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -3
  586. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +1 -1
  587. package/src/lib/plugins/openapi/Sidecar.tsx +2 -1
  588. package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -1
  589. package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
  590. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +1 -1
  591. package/src/lib/plugins/openapi/client/createServer.ts +1 -2
  592. package/src/lib/plugins/openapi/client/useCreateQuery.ts +3 -2
  593. package/src/lib/plugins/openapi/context.tsx +1 -1
  594. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +0 -1
  595. package/src/lib/plugins/openapi/graphql/gql.ts +0 -1
  596. package/src/lib/plugins/openapi/graphql/graphql.ts +0 -1
  597. package/src/lib/plugins/openapi/index.tsx +5 -4
  598. package/src/lib/plugins/openapi/interfaces.ts +5 -3
  599. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +2 -2
  600. package/src/lib/plugins/openapi/playground/Headers.tsx +1 -1
  601. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +1 -1
  602. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +1 -1
  603. package/src/lib/plugins/openapi/playground/Playground.tsx +2 -2
  604. package/src/lib/plugins/openapi/playground/QueryParams.tsx +1 -1
  605. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +1 -1
  606. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  607. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +3 -1
  608. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +3 -3
  609. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +1 -1
  610. package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +1 -0
  611. package/src/lib/plugins/openapi/processors/removeParameters.test.ts +1 -0
  612. package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
  613. package/src/lib/plugins/openapi/schema/{LogicalGroup/LogicalGroupConnector.tsx → AllOfGroup/AllOfGroupConnector.tsx} +4 -25
  614. package/src/lib/plugins/openapi/schema/{LogicalGroup/LogicalGroupItem.tsx → AllOfGroup/AllOfGroupItem.tsx} +3 -11
  615. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +35 -0
  616. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +9 -27
  617. package/src/lib/plugins/openapi/schema/SchemaView.tsx +19 -13
  618. package/src/lib/plugins/openapi/schema/UnionView.tsx +123 -0
  619. package/src/lib/plugins/openapi/schema/union-helpers.ts +96 -0
  620. package/src/lib/plugins/openapi/schema/utils.ts +0 -11
  621. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +2 -2
  622. package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +1 -0
  623. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +3 -4
  624. package/src/lib/plugins/openapi/util/getRoutes.tsx +2 -2
  625. package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
  626. package/src/lib/plugins/search-inkeep/index.tsx +3 -3
  627. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +2 -4
  628. package/src/lib/plugins/search-pagefind/ResultList.tsx +3 -4
  629. package/src/lib/plugins/search-pagefind/get-results.tsx +0 -1
  630. package/src/lib/shiki.ts +6 -6
  631. package/src/lib/ui/Breadcrumb.tsx +1 -0
  632. package/src/lib/ui/Carousel.tsx +1 -0
  633. package/src/lib/ui/CodeBlock.tsx +5 -3
  634. package/src/lib/ui/Command.tsx +2 -4
  635. package/src/lib/ui/Dialog.tsx +12 -4
  636. package/src/lib/ui/Form.tsx +4 -4
  637. package/src/lib/ui/Pagination.tsx +1 -2
  638. package/src/lib/ui/ToggleGroup.tsx +1 -1
  639. package/src/lib/util/MdxComponents.tsx +9 -2
  640. package/src/lib/util/cn.ts +1 -1
  641. package/src/lib/util/createVariantComponent.tsx +2 -2
  642. package/src/lib/util/groupBy.ts +1 -0
  643. package/src/lib/util/humanFileSize.ts +2 -3
  644. package/src/lib/util/invariant.ts +1 -0
  645. package/src/lib/util/pastellize.ts +2 -2
  646. package/src/lib/util/types.ts +1 -1
  647. package/src/lib/util/useIsomorphicLayoutEffect.ts +1 -0
  648. package/src/lib/util/useScrollToAnchor.ts +3 -1
  649. package/src/shiki/langs/vue-vine.js +1 -0
  650. package/dist/lib/components/ReactMarkdown.d.ts +0 -29
  651. package/dist/lib/components/ReactMarkdown.js +0 -182
  652. package/dist/lib/components/ReactMarkdown.js.map +0 -1
  653. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +0 -8
  654. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +0 -14
  655. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +0 -1
  656. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +0 -7
  657. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +0 -17
  658. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +0 -1
  659. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +0 -10
  660. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +0 -1
  661. package/lib/CodeBlock-CVT6z0PP.js.map +0 -1
  662. package/lib/Command-BYukybsa.js.map +0 -1
  663. package/lib/Dialog-u9Uz9sTt.js +0 -99
  664. package/lib/Dialog-u9Uz9sTt.js.map +0 -1
  665. package/lib/MdxPage-plD-n8fm.js.map +0 -1
  666. package/lib/OAuthErrorPage-BTP-t8Fq.js.map +0 -1
  667. package/lib/OasProvider-CYf5xe1a.js.map +0 -1
  668. package/lib/OperationList-C_-vAmhs.js.map +0 -1
  669. package/lib/RouteGuard-gznKADdm.js.map +0 -1
  670. package/lib/SchemaView-CHb3DJ6D.js +0 -366
  671. package/lib/SchemaView-CHb3DJ6D.js.map +0 -1
  672. package/lib/SignUp-BXxkBCGy.js.map +0 -1
  673. package/lib/chunk-QMGIS6GS-CdEm9pzB.js +0 -1839
  674. package/lib/chunk-QMGIS6GS-CdEm9pzB.js.map +0 -1
  675. package/lib/createServer-B4w9HCV7.js.map +0 -1
  676. package/lib/errors-v4zc7txj.js.map +0 -1
  677. package/lib/index-D1LmO5Bn.js +0 -4082
  678. package/lib/index-D1LmO5Bn.js.map +0 -1
  679. package/lib/index-DnkZAg98.js.map +0 -1
  680. package/src/lib/components/ReactMarkdown.license.txt +0 -21
  681. package/src/lib/components/ReactMarkdown.tsx +0 -264
  682. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +0 -40
package/src/app/main.tsx CHANGED
@@ -1,4 +1,3 @@
1
- import type { RouteObject } from "react-router";
2
1
  import { configuredApiKeysPlugin } from "virtual:zudoku-api-keys-plugin";
3
2
  import {
4
3
  configuredApiCatalogPlugins,
@@ -11,18 +10,21 @@ import { configuredNavigation } from "virtual:zudoku-navigation";
11
10
  import { configuredRedirectPlugin } from "virtual:zudoku-redirect-plugin";
12
11
  import { configuredSearchPlugin } from "virtual:zudoku-search-plugin";
13
12
  import { registerShiki } from "virtual:zudoku-shiki-register";
13
+ import type { RouteObject } from "react-router";
14
14
  import "virtual:zudoku-theme.css";
15
15
  import {
16
16
  BuildCheck,
17
17
  Layout,
18
+ Meta,
18
19
  RouteGuard,
19
20
  RouterError,
20
21
  StatusPage,
21
- Zudoku,
22
- } from "zudoku/components";
22
+ } from "zudoku/__internal";
23
+ import { Zudoku } from "zudoku/components";
24
+ import { Outlet } from "zudoku/router";
23
25
  import type { ZudokuConfig } from "../config/config.js";
24
- import type { ZudokuContextOptions } from "../lib/core/ZudokuContext.js";
25
26
  import { isNavigationPlugin } from "../lib/core/plugins.js";
27
+ import type { ZudokuContextOptions } from "../lib/core/ZudokuContext.js";
26
28
  import { highlighter } from "../lib/shiki.js";
27
29
  import { ZuploEnv } from "./env.js";
28
30
  import "./main.css";
@@ -110,17 +112,30 @@ export const getRoutesByConfig = (config: ZudokuConfig): RouteObject[] => {
110
112
  buildId={import.meta.env.ZUPLO_BUILD_ID}
111
113
  environmentType={import.meta.env.ZUPLO_ENVIRONMENT_TYPE}
112
114
  />
113
- <Layout />
115
+ <Outlet />
114
116
  </Zudoku>
115
117
  ),
116
118
  hydrateFallbackElement: <div>Loading...</div>,
117
119
  children: [
118
120
  {
119
- element: <RouteGuard />,
121
+ element: (
122
+ <Meta>
123
+ <RouteGuard />
124
+ </Meta>
125
+ ),
120
126
  errorElement: <RouterError />,
121
- children: routes,
127
+ children: routes.map((r) =>
128
+ r.handle?.layout === "none" ? r : wrapWithLayout(r),
129
+ ),
122
130
  },
123
131
  ],
124
132
  },
125
133
  ];
126
134
  };
135
+
136
+ const wrapWithLayout = (route: RouteObject) => {
137
+ return {
138
+ element: <Layout />,
139
+ children: [route],
140
+ };
141
+ };
@@ -1,6 +1,6 @@
1
1
  import { createRoot } from "react-dom/client";
2
2
  import { createBrowserRouter } from "react-router";
3
- import { Bootstrap } from "zudoku/components";
3
+ import { Bootstrap } from "zudoku/__internal";
4
4
  import type { ZudokuConfig } from "../config/validators/validate.js";
5
5
  import { openApiPlugin } from "../lib/plugins/openapi/index.js";
6
6
  import "../lib/util/logInit.js";
@@ -13,7 +13,12 @@ if (!root) {
13
13
  }
14
14
 
15
15
  const apiUrl = root.getAttribute("data-api-url");
16
- const title = document.getElementsByTagName("title")[0]!.innerText;
16
+
17
+ if (!apiUrl) {
18
+ throw new Error("No api url found");
19
+ }
20
+
21
+ const title = document.getElementsByTagName("title")[0]?.innerText;
17
22
  const logoUrl = root.getAttribute("data-logo-url");
18
23
 
19
24
  // IMPORTANT: This component must not contain tailwind classes
@@ -42,7 +47,7 @@ const config = {
42
47
  // Using the plugin directly because there's no config file to load in the virtual plugins
43
48
  openApiPlugin({
44
49
  type: "url",
45
- input: apiUrl!,
50
+ input: apiUrl,
46
51
  path: "/",
47
52
  }),
48
53
  ],
@@ -1,4 +1,4 @@
1
- import { CircleDashed, LucideProps } from "lucide-react";
1
+ import { CircleDashed, type LucideProps } from "lucide-react";
2
2
  import {
3
3
  Tooltip,
4
4
  TooltipContent,
@@ -109,6 +109,7 @@ describe("getIssuer", () => {
109
109
  it("should throw error for unsupported authentication type", async () => {
110
110
  const config = {
111
111
  authentication: {
112
+ // biome-ignore lint/suspicious/noExplicitAny: Allow any type
112
113
  type: "unsupported" as any,
113
114
  },
114
115
  } as ZudokuConfig;
@@ -1,8 +1,8 @@
1
1
  import { LogOutIcon } from "lucide-react";
2
- import {
3
- type CommonPlugin,
4
- type NavigationPlugin,
5
- type ProfileMenuPlugin,
2
+ import type {
3
+ CommonPlugin,
4
+ NavigationPlugin,
5
+ ProfileMenuPlugin,
6
6
  } from "../core/plugins.js";
7
7
  import { SignIn } from "./components/SignIn.js";
8
8
  import { SignOut } from "./components/SignOut.js";
@@ -8,6 +8,6 @@ export interface AuthenticationPlugin {
8
8
  signRequest(request: Request): Promise<Request>;
9
9
  }
10
10
 
11
- export interface AuthenticationProviderInitializer<TConfig> {
12
- (config: TConfig): AuthenticationPlugin;
13
- }
11
+ export type AuthenticationProviderInitializer<TConfig> = (
12
+ config: TConfig,
13
+ ) => AuthenticationPlugin;
@@ -72,7 +72,7 @@ const errorDetailsMap: Record<string, { message: string }> = {
72
72
  },
73
73
  };
74
74
 
75
- export function OAuthErrorPage({ error }: { error: any }) {
75
+ export function OAuthErrorPage({ error }: { error: unknown }) {
76
76
  const { login } = useAuth();
77
77
 
78
78
  if (!(error instanceof OAuthAuthorizationError)) {
@@ -8,7 +8,7 @@ export const SignOut = () => {
8
8
 
9
9
  useEffect(() => {
10
10
  void context.authentication?.signOut().then(() => navigate("/"));
11
- }, []);
11
+ }, [context.authentication, navigate]);
12
12
 
13
13
  return null;
14
14
  };
@@ -1,7 +1,7 @@
1
- import { type Auth0AuthenticationConfig } from "../../../config/config.js";
2
- import {
3
- type AuthenticationPlugin,
4
- type AuthenticationProviderInitializer,
1
+ import type { Auth0AuthenticationConfig } from "../../../config/config.js";
2
+ import type {
3
+ AuthenticationPlugin,
4
+ AuthenticationProviderInitializer,
5
5
  } from "../authentication.js";
6
6
  import { useAuthState } from "../state.js";
7
7
  import { OpenIDAuthenticationProvider } from "./openid.js";
@@ -64,7 +64,7 @@ class Auth0AuthenticationProvider
64
64
 
65
65
  // window.location.href = logoutUrl.toString();
66
66
  } else {
67
- const logoutUrl = new URL(
67
+ const _logoutUrl = new URL(
68
68
  `${this.issuer.replace(/\/$/, "")}/oidc/logout`,
69
69
  );
70
70
  // window.location.href = logoutUrl.toString();
@@ -1,14 +1,14 @@
1
1
  import type { AuthenticationResult, EventMessage } from "@azure/msal-browser";
2
2
  import { EventType, PublicClientApplication } from "@azure/msal-browser";
3
3
  import { ErrorBoundary } from "react-error-boundary";
4
- import { type AzureB2CAuthenticationConfig } from "../../../config/config.js";
4
+ import type { AzureB2CAuthenticationConfig } from "../../../config/config.js";
5
5
  import { ClientOnly } from "../../components/ClientOnly.js";
6
6
  import { joinUrl } from "../../util/joinUrl.js";
7
- import {
8
- type AuthenticationPlugin,
9
- type AuthenticationProviderInitializer,
10
- } from "../authentication.js";
11
7
  import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
8
+ import type {
9
+ AuthenticationPlugin,
10
+ AuthenticationProviderInitializer,
11
+ } from "../authentication.js";
12
12
  import { CallbackHandler } from "../components/CallbackHandler.js";
13
13
  import { OAuthErrorPage } from "../components/OAuthErrorPage.js";
14
14
  import { AuthorizationError } from "../errors.js";
@@ -1,10 +1,10 @@
1
1
  import type { Clerk } from "@clerk/clerk-js";
2
2
  import { LogOutIcon } from "lucide-react";
3
- import { type ZudokuPlugin } from "zudoku/plugins";
4
- import { type ClerkAuthenticationConfig } from "../../../config/config.js";
5
- import {
6
- type AuthenticationPlugin,
7
- type AuthenticationProviderInitializer,
3
+ import type { ZudokuPlugin } from "zudoku/plugins";
4
+ import type { ClerkAuthenticationConfig } from "../../../config/config.js";
5
+ import type {
6
+ AuthenticationPlugin,
7
+ AuthenticationProviderInitializer,
8
8
  } from "../authentication.js";
9
9
  import { SignIn } from "../components/SignIn.js";
10
10
  import { SignOut } from "../components/SignOut.js";
@@ -1,18 +1,18 @@
1
1
  import logger from "loglevel";
2
2
  import * as oauth from "oauth4webapi";
3
3
  import { ErrorBoundary } from "react-error-boundary";
4
- import { type OpenIDAuthenticationConfig } from "../../../config/config.js";
4
+ import type { OpenIDAuthenticationConfig } from "../../../config/config.js";
5
5
  import { ClientOnly } from "../../components/ClientOnly.js";
6
6
  import { joinUrl } from "../../util/joinUrl.js";
7
- import {
8
- type AuthenticationPlugin,
9
- type AuthenticationProviderInitializer,
10
- } from "../authentication.js";
11
7
  import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
8
+ import type {
9
+ AuthenticationPlugin,
10
+ AuthenticationProviderInitializer,
11
+ } from "../authentication.js";
12
12
  import { CallbackHandler } from "../components/CallbackHandler.js";
13
13
  import { OAuthErrorPage } from "../components/OAuthErrorPage.js";
14
14
  import { AuthorizationError, OAuthAuthorizationError } from "../errors.js";
15
- import { useAuthState, type UserProfile } from "../state.js";
15
+ import { type UserProfile, useAuthState } from "../state.js";
16
16
 
17
17
  const CODE_VERIFIER_KEY = "code-verifier";
18
18
  const STATE_KEY = "oauth-state";
@@ -4,14 +4,14 @@ import {
4
4
  type Session,
5
5
  type SupabaseClient,
6
6
  } from "@supabase/supabase-js";
7
- import { type SupabaseAuthenticationConfig } from "../../../config/config.js";
8
- import {
9
- type AuthenticationPlugin,
10
- type AuthenticationProviderInitializer,
11
- } from "../authentication.js";
7
+ import type { SupabaseAuthenticationConfig } from "../../../config/config.js";
12
8
  import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
9
+ import type {
10
+ AuthenticationPlugin,
11
+ AuthenticationProviderInitializer,
12
+ } from "../authentication.js";
13
13
  import { AuthorizationError } from "../errors.js";
14
- import { useAuthState, type UserProfile } from "../state.js";
14
+ import { type UserProfile, useAuthState } from "../state.js";
15
15
 
16
16
  class SupabaseAuthenticationProvider
17
17
  extends CoreAuthenticationPlugin
@@ -21,6 +21,7 @@ class SupabaseAuthenticationProvider
21
21
  private readonly provider: Provider;
22
22
  private readonly redirectToAfterSignUp: string;
23
23
  private readonly redirectToAfterSignIn: string;
24
+ // biome-ignore lint/correctness/noUnusedPrivateClassMembers: Keep around
24
25
  private readonly redirectToAfterSignOut: string;
25
26
 
26
27
  constructor({
@@ -1,6 +1,6 @@
1
1
  // https://github.com/Romainlg29/use-broadcast/
2
2
 
3
- import { StateCreator, StoreMutatorIdentifier } from "zustand";
3
+ import type { StateCreator, StoreMutatorIdentifier } from "zustand";
4
4
 
5
5
  export type SharedOptions = {
6
6
  /**
@@ -71,7 +71,7 @@ const sharedImpl: SharedImpl = (f, options) => (set, get, store) => {
71
71
  self instanceof WorkerGlobalScope
72
72
  )
73
73
  ) {
74
- // eslint-disable-next-line no-console
74
+ // biome-ignore lint/suspicious/noConsole: Logging allowed here
75
75
  console.warn(
76
76
  "BroadcastChannel is not supported in this environment. The store will not be shared.",
77
77
  );
@@ -82,7 +82,7 @@ const sharedImpl: SharedImpl = (f, options) => (set, get, store) => {
82
82
  * If BroadcastChannel is not supported, return the basic store
83
83
  */
84
84
  if (typeof BroadcastChannel === "undefined") {
85
- // eslint-disable-next-line no-console
85
+ // biome-ignore lint/suspicious/noConsole: Logging allowed here
86
86
  console.warn(
87
87
  "BroadcastChannel is not supported in this browser. The store will not be shared.",
88
88
  );
@@ -220,7 +220,7 @@ const sharedImpl: SharedImpl = (f, options) => (set, get, store) => {
220
220
  /**
221
221
  * Set the new tab / window id
222
222
  */
223
- const new_id = tabs[tabs.length - 1]! + 1;
223
+ const new_id = (tabs[tabs.length - 1] ?? 0) + 1;
224
224
  tabs.push(new_id);
225
225
 
226
226
  options?.onTabsChange?.(tabs);
@@ -93,13 +93,13 @@ export const useBroadcast = <T>(
93
93
  * If BroadcastChannel is not supported, we log an error and return
94
94
  */
95
95
  if (typeof window === "undefined") {
96
- // eslint-disable-next-line no-console
96
+ // biome-ignore lint/suspicious/noConsole: Logging allowed here
97
97
  console.error("Window is undefined!");
98
98
  return;
99
99
  }
100
100
 
101
101
  if (!window.BroadcastChannel) {
102
- // eslint-disable-next-line no-console
102
+ // biome-ignore lint/suspicious/noConsole: Logging allowed here
103
103
  console.error("BroadcastChannel is not supported!");
104
104
  return;
105
105
  }
@@ -1,4 +1,4 @@
1
- import { type MouseEvent } from "react";
1
+ import type { MouseEvent } from "react";
2
2
  import { NavLink, type NavLinkProps, useHref, useLocation } from "react-router";
3
3
  import { useScrollToHash } from "../util/useScrollToAnchor.js";
4
4
 
@@ -1,6 +1,6 @@
1
1
  import { PopoverAnchor } from "@radix-ui/react-popover";
2
2
  import { useCommandState } from "cmdk";
3
- import { useRef, useState, type KeyboardEvent, type Ref } from "react";
3
+ import { type KeyboardEvent, type Ref, useRef, useState } from "react";
4
4
  import {
5
5
  Command,
6
6
  CommandInlineInput,
@@ -32,6 +32,7 @@ const Bootstrap = ({
32
32
  }) => (
33
33
  <StrictMode>
34
34
  <QueryClientProvider client={queryClient}>
35
+ {/* biome-ignore lint/suspicious/noExplicitAny: Allow any type */}
35
36
  <HydrationBoundary state={hydrate ? (window as any).DATA : undefined}>
36
37
  <BypassProtectedRoutesContext value={false}>
37
38
  <HelmetProvider>
@@ -1,6 +1,7 @@
1
1
  import { useQuery } from "@tanstack/react-query";
2
2
  import { CircleFadingArrowUpIcon, LoaderCircleIcon } from "lucide-react";
3
- import { z } from "zod/v4";
3
+ import { useEffect } from "react";
4
+ import { z } from "zod";
4
5
  import { Button } from "../ui/Button.js";
5
6
 
6
7
  const BuildStatusSchema = z.object({
@@ -32,6 +33,16 @@ export const BuildCheck = ({
32
33
  .then((data) => BuildStatusSchema.parse(data)),
33
34
  });
34
35
 
36
+ useEffect(() => {
37
+ if (
38
+ buildStatusQuery.data?.status === "success" &&
39
+ buildStatusQuery.data.buildId
40
+ ) {
41
+ // biome-ignore lint/suspicious/noDocumentCookie: CookieStore too new to use
42
+ document.cookie = `zuplo-build=${buildStatusQuery.data.buildId}; path=/; max-age=300; secure; SameSite=None`;
43
+ }
44
+ }, [buildStatusQuery.data]);
45
+
35
46
  if (
36
47
  buildStatusQuery.isError ||
37
48
  !buildStatusQuery.data ||
@@ -37,9 +37,8 @@ const RecursiveMenu = ({ item }: { item: ProfileNavigationItem }) => {
37
37
  <DropdownMenuSubTrigger>{item.label}</DropdownMenuSubTrigger>
38
38
  <DropdownMenuPortal>
39
39
  <DropdownMenuSubContent>
40
- {item.children.map((item, i) => (
41
- // eslint-disable-next-line react/no-array-index-key
42
- <RecursiveMenu key={i} item={item} />
40
+ {item.children.map((child) => (
41
+ <RecursiveMenu key={child.label} item={child} />
43
42
  ))}
44
43
  </DropdownMenuSubContent>
45
44
  </DropdownMenuPortal>
@@ -92,7 +91,7 @@ export const Header = memo(function HeaderInner() {
92
91
  <div className="flex">
93
92
  <Link to={site?.logo?.href ?? "/"}>
94
93
  <div className="flex items-center gap-3.5">
95
- {site?.logo && (
94
+ {site?.logo ? (
96
95
  <>
97
96
  <img
98
97
  src={logoLightSrc}
@@ -109,8 +108,9 @@ export const Header = memo(function HeaderInner() {
109
108
  loading="lazy"
110
109
  />
111
110
  </>
111
+ ) : (
112
+ <span className="font-semibold text-2xl">{site?.title}</span>
112
113
  )}
113
- <span className="font-semibold text-2xl">{site?.title}</span>
114
114
  </div>
115
115
  </Link>
116
116
  </div>
@@ -1,9 +1,8 @@
1
- import type { HTMLAttributes, ReactNode } from "react";
2
- import { useRegisterAnchorElement } from "./context/ViewportAnchorContext.js";
3
-
4
1
  import { cva, type VariantProps } from "class-variance-authority";
5
2
  import { LinkIcon } from "lucide-react";
3
+ import type { HTMLAttributes, ReactNode } from "react";
6
4
  import { cn } from "../util/cn.js";
5
+ import { useRegisterAnchorElement } from "./context/ViewportAnchorContext.js";
7
6
 
8
7
  const heading = cva("group relative", {
9
8
  variants: {
@@ -1,8 +1,6 @@
1
- import { Helmet } from "@zudoku/react-helmet-async";
2
- import { Suspense, useEffect, type ReactNode } from "react";
3
- import { Outlet, useLocation } from "react-router";
1
+ import { type ReactNode, Suspense, useEffect } from "react";
2
+ import { Outlet } from "react-router";
4
3
  import { cn } from "../util/cn.js";
5
- import { joinUrl } from "../util/joinUrl.js";
6
4
  import { useScrollToAnchor } from "../util/useScrollToAnchor.js";
7
5
  import { useScrollToTop } from "../util/useScrollToTop.js";
8
6
  import { useZudoku } from "./context/ZudokuContext.js";
@@ -19,8 +17,7 @@ const LoadingFallback = () => (
19
17
  );
20
18
 
21
19
  export const Layout = ({ children }: { children?: ReactNode }) => {
22
- const { meta, authentication, options } = useZudoku();
23
- const location = useLocation();
20
+ const { authentication } = useZudoku();
24
21
 
25
22
  useScrollToAnchor();
26
23
  useScrollToTop();
@@ -32,22 +29,6 @@ export const Layout = ({ children }: { children?: ReactNode }) => {
32
29
 
33
30
  return (
34
31
  <>
35
- <Helmet titleTemplate={meta?.title}>
36
- {options.canonicalUrlOrigin && (
37
- <link
38
- rel="canonical"
39
- href={joinUrl(
40
- options.canonicalUrlOrigin,
41
- options.basePath,
42
- location.pathname,
43
- )}
44
- />
45
- )}
46
- {meta?.description && (
47
- <meta name="description" content={meta.description} />
48
- )}
49
- {meta?.favicon && <link rel="icon" href={meta.favicon} />}
50
- </Helmet>
51
32
  <Slot.Target name="layout-before-head" />
52
33
  <Header />
53
34
  <Slot.Target name="layout-after-head" />
@@ -23,9 +23,12 @@ export const Markdown = memo(
23
23
  const rehypePlugins = useMemo(
24
24
  () => [
25
25
  rehypeRaw,
26
- ...createConfiguredShikiRehypePlugins(syntaxHighlighting?.themes),
26
+ ...createConfiguredShikiRehypePlugins(
27
+ syntaxHighlighting?.themes,
28
+ syntaxHighlighting?.highlighter,
29
+ ),
27
30
  ],
28
- [syntaxHighlighting?.themes],
31
+ [syntaxHighlighting?.themes, syntaxHighlighting?.highlighter],
29
32
  );
30
33
 
31
34
  const mdComponents = useMemo(
@@ -0,0 +1,32 @@
1
+ import { Helmet } from "@zudoku/react-helmet-async";
2
+ import type { PropsWithChildren } from "react";
3
+ import { useLocation } from "react-router";
4
+ import { joinUrl } from "../util/joinUrl.js";
5
+ import { useZudoku } from "./context/ZudokuContext.js";
6
+
7
+ export const Meta = ({ children }: PropsWithChildren) => {
8
+ const { meta, options } = useZudoku();
9
+ const location = useLocation();
10
+
11
+ return (
12
+ <>
13
+ <Helmet titleTemplate={meta?.title} defaultTitle={meta?.defaultTitle}>
14
+ {options.canonicalUrlOrigin && (
15
+ <link
16
+ rel="canonical"
17
+ href={joinUrl(
18
+ options.canonicalUrlOrigin,
19
+ options.basePath,
20
+ location.pathname,
21
+ )}
22
+ />
23
+ )}
24
+ {meta?.description && (
25
+ <meta name="description" content={meta.description} />
26
+ )}
27
+ {meta?.favicon && <link rel="icon" href={meta.favicon} />}
28
+ </Helmet>
29
+ {children}
30
+ </>
31
+ );
32
+ };
@@ -1,6 +1,6 @@
1
1
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
2
2
  import { MenuIcon } from "lucide-react";
3
- import { Fragment, useState } from "react";
3
+ import { useState } from "react";
4
4
  import { Skeleton } from "zudoku/ui/Skeleton.js";
5
5
  import { useAuth } from "../authentication/hook.js";
6
6
  import {
@@ -12,7 +12,7 @@ import {
12
12
  import { ClientOnly } from "./ClientOnly.js";
13
13
  import { useZudoku } from "./context/ZudokuContext.js";
14
14
  import { PoweredByZudoku } from "./navigation/PoweredByZudoku.js";
15
- import { isHiddenItem } from "./navigation/utils.js";
15
+ import { shouldShowItem } from "./navigation/utils.js";
16
16
  import { PageProgress } from "./PageProgress.js";
17
17
  import { Search } from "./Search.js";
18
18
  import { Slot } from "./Slot.js";
@@ -28,7 +28,7 @@ export const MobileTopNavigation = () => {
28
28
  const [drawerOpen, setDrawerOpen] = useState(false);
29
29
 
30
30
  const accountItems = getProfileMenuItems();
31
- const filteredItems = navigation.filter(isHiddenItem(authState, context));
31
+ const filteredItems = navigation.filter(shouldShowItem(authState, context));
32
32
 
33
33
  return (
34
34
  <Drawer
@@ -72,16 +72,14 @@ export const MobileTopNavigation = () => {
72
72
  </li>
73
73
  ) : (
74
74
  Object.values(getProfileMenuItems()).length > 0 && (
75
- <Fragment>
76
- <li>
77
- {profile?.name ? `${profile.name}` : "My Account"}
78
- {profile?.email && (
79
- <div className="font-normal text-muted-foreground">
80
- {profile.email}
81
- </div>
82
- )}
83
- </li>
84
- </Fragment>
75
+ <li>
76
+ {profile?.name ? `${profile.name}` : "My Account"}
77
+ {profile?.email && (
78
+ <div className="font-normal text-muted-foreground">
79
+ {profile.email}
80
+ </div>
81
+ )}
82
+ </li>
85
83
  )
86
84
  )}
87
85
  </ClientOnly>
@@ -22,7 +22,7 @@ export const PathRenderer = ({
22
22
  matches.forEach((match) => {
23
23
  const [originalValue, name] = match;
24
24
  if (!name) return;
25
- const startIndex = match.index!;
25
+ const startIndex = match.index;
26
26
 
27
27
  if (startIndex > lastIndex) {
28
28
  elements.push(
@@ -50,7 +50,7 @@ export const PathRenderer = ({
50
50
  }
51
51
 
52
52
  return (
53
- // eslint-disable-next-line react/no-array-index-key
53
+ // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable
54
54
  <Fragment key={`${part}-${i}`}>
55
55
  {elements}
56
56
  {i < arr.length - 1 && "/"}
@@ -28,7 +28,7 @@ export const Search = ({ className }: { className?: string }) => {
28
28
  return () => {
29
29
  window.removeEventListener("keydown", onKeyDown);
30
30
  };
31
- }, [isOpen, setIsOpen]);
31
+ }, [isOpen]);
32
32
 
33
33
  const searchPlugin = ctx.plugins.find(isSearchPlugin);
34
34
 
@@ -1,18 +1,18 @@
1
1
  import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
2
2
  import {
3
3
  act,
4
+ type RenderResult,
4
5
  screen,
5
6
  render as testRender,
6
- type RenderResult,
7
7
  } from "@testing-library/react";
8
8
  import type { PropsWithChildren, ReactNode } from "react";
9
9
  import { useEffect, useState } from "react";
10
10
  import { MemoryRouter } from "react-router";
11
11
  import { describe, expect, it } from "vitest";
12
12
  import { ZudokuContext } from "../core/ZudokuContext.js";
13
- import { Slot } from "./Slot.js";
14
13
  import { SlotProvider } from "./context/SlotProvider.js";
15
14
  import { ZudokuProvider } from "./context/ZudokuProvider.js";
15
+ import { Slot } from "./Slot.js";
16
16
 
17
17
  /**
18
18
  * @vitest-environment happy-dom
@@ -196,12 +196,10 @@ describe("Slot", () => {
196
196
  expect(screen.getByText("Source content")).toBeInTheDocument();
197
197
 
198
198
  rerender(
199
- <>
200
- <Slot.Target
201
- name="footer-after"
202
- fallback={<div>Fallback content</div>}
203
- />
204
- </>,
199
+ <Slot.Target
200
+ name="footer-after"
201
+ fallback={<div>Fallback content</div>}
202
+ />,
205
203
  );
206
204
 
207
205
  expect(screen.getByText("Fallback content")).toBeInTheDocument();
@@ -374,11 +372,13 @@ describe("Slot", () => {
374
372
  await render(
375
373
  <>
376
374
  {manySlots.map((name) => (
375
+ // biome-ignore lint/suspicious/noExplicitAny: Allow any type
377
376
  <Slot.Source key={name} name={name as any}>
378
377
  <div>Content {name}</div>
379
378
  </Slot.Source>
380
379
  ))}
381
380
  {manySlots.map((name) => (
381
+ // biome-ignore lint/suspicious/noExplicitAny: Allow any type
382
382
  <Slot.Target key={name} name={name as any} />
383
383
  ))}
384
384
  </>,