zudoku 0.0.0-f3d517c → 0.0.0-f40ea27

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 (570) hide show
  1. package/dist/app/ZuploBuildConfig.d.ts +11 -121
  2. package/dist/app/ZuploBuildConfig.js +8 -8
  3. package/dist/app/ZuploBuildConfig.js.map +1 -1
  4. package/dist/app/demo.js +6 -5
  5. package/dist/app/demo.js.map +1 -1
  6. package/dist/app/entry.client.d.ts +0 -2
  7. package/dist/app/entry.client.js +0 -2
  8. package/dist/app/entry.client.js.map +1 -1
  9. package/dist/app/entry.server.d.ts +0 -2
  10. package/dist/app/entry.server.js +0 -2
  11. package/dist/app/entry.server.js.map +1 -1
  12. package/dist/app/env.d.ts +7 -7
  13. package/dist/app/env.js +8 -0
  14. package/dist/app/env.js.map +1 -1
  15. package/dist/app/main.d.ts +1 -0
  16. package/dist/app/main.js +12 -11
  17. package/dist/app/main.js.map +1 -1
  18. package/dist/app/standalone.js +7 -6
  19. package/dist/app/standalone.js.map +1 -1
  20. package/dist/config/loader.js +2 -3
  21. package/dist/config/loader.js.map +1 -1
  22. package/dist/config/validators/BuildSchema.d.ts +20 -44
  23. package/dist/config/validators/BuildSchema.js +3 -14
  24. package/dist/config/validators/BuildSchema.js.map +1 -1
  25. package/dist/config/validators/InputNavigationSchema.d.ts +7369 -0
  26. package/dist/config/validators/InputNavigationSchema.js +74 -0
  27. package/dist/config/validators/InputNavigationSchema.js.map +1 -0
  28. package/dist/config/validators/InputNavigationSchema.test-d.d.ts +1 -0
  29. package/dist/config/validators/InputNavigationSchema.test-d.js +146 -0
  30. package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -0
  31. package/dist/config/validators/NavigationSchema.d.ts +44 -0
  32. package/dist/config/validators/NavigationSchema.js +95 -0
  33. package/dist/config/validators/NavigationSchema.js.map +1 -0
  34. package/dist/config/validators/icon-types.d.ts +2 -1
  35. package/dist/config/validators/icon-types.js +1813 -1
  36. package/dist/config/validators/icon-types.js.map +1 -1
  37. package/dist/config/validators/validate.d.ts +471 -5556
  38. package/dist/config/validators/validate.js +80 -69
  39. package/dist/config/validators/validate.js.map +1 -1
  40. package/dist/config/validators/validate.test.js +0 -2
  41. package/dist/config/validators/validate.test.js.map +1 -1
  42. package/dist/flat-config.d.ts +325 -0
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/auth/issuer.js +4 -1
  46. package/dist/lib/auth/issuer.js.map +1 -1
  47. package/dist/lib/auth/issuer.test.js +14 -1
  48. package/dist/lib/auth/issuer.test.js.map +1 -1
  49. package/dist/lib/authentication/components/CallbackHandler.js +1 -1
  50. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  51. package/dist/lib/components/Autocomplete.js +2 -2
  52. package/dist/lib/components/Autocomplete.js.map +1 -1
  53. package/dist/lib/components/Banner.js +1 -1
  54. package/dist/lib/components/Banner.js.map +1 -1
  55. package/dist/lib/components/BuildCheck.js +1 -1
  56. package/dist/lib/components/BuildCheck.js.map +1 -1
  57. package/dist/lib/components/ErrorPage.js +2 -2
  58. package/dist/lib/components/ErrorPage.js.map +1 -1
  59. package/dist/lib/components/Footer.js +1 -1
  60. package/dist/lib/components/Footer.js.map +1 -1
  61. package/dist/lib/components/Framed.d.ts +7 -0
  62. package/dist/lib/components/Framed.js +26 -0
  63. package/dist/lib/components/Framed.js.map +1 -0
  64. package/dist/lib/components/Header.js +19 -18
  65. package/dist/lib/components/Header.js.map +1 -1
  66. package/dist/lib/components/Heading.d.ts +6 -2
  67. package/dist/lib/components/Heading.js +2 -2
  68. package/dist/lib/components/Heading.js.map +1 -1
  69. package/dist/lib/components/Main.js +4 -4
  70. package/dist/lib/components/Main.js.map +1 -1
  71. package/dist/lib/components/Markdown.d.ts +0 -1
  72. package/dist/lib/components/Markdown.js +2 -3
  73. package/dist/lib/components/Markdown.js.map +1 -1
  74. package/dist/lib/components/MobileTopNavigation.js +6 -5
  75. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  76. package/dist/lib/components/NotFoundPage.js +2 -2
  77. package/dist/lib/components/NotFoundPage.js.map +1 -1
  78. package/dist/lib/components/PageProgress.d.ts +1 -0
  79. package/dist/lib/components/PageProgress.js +20 -0
  80. package/dist/lib/components/PageProgress.js.map +1 -0
  81. package/dist/lib/components/Pagination.js +1 -1
  82. package/dist/lib/components/Pagination.js.map +1 -1
  83. package/dist/lib/components/TopNavigation.d.ts +2 -3
  84. package/dist/lib/components/TopNavigation.js +45 -44
  85. package/dist/lib/components/TopNavigation.js.map +1 -1
  86. package/dist/lib/components/Typography.d.ts +5 -0
  87. package/dist/lib/components/Typography.js +8 -0
  88. package/dist/lib/components/Typography.js.map +1 -0
  89. package/dist/lib/components/context/ZudokuContext.d.ts +3 -7
  90. package/dist/lib/components/context/ZudokuContext.js +44 -26
  91. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  92. package/dist/lib/components/index.d.ts +4 -0
  93. package/dist/lib/components/index.js +2 -0
  94. package/dist/lib/components/index.js.map +1 -1
  95. package/dist/lib/components/navigation/Navigation.d.ts +5 -0
  96. package/dist/lib/components/navigation/Navigation.js +12 -0
  97. package/dist/lib/components/navigation/Navigation.js.map +1 -0
  98. package/dist/lib/components/navigation/{SidebarBadge.d.ts → NavigationBadge.d.ts} +1 -1
  99. package/dist/lib/components/navigation/{SidebarBadge.js → NavigationBadge.js} +2 -2
  100. package/dist/lib/components/navigation/NavigationBadge.js.map +1 -0
  101. package/dist/lib/components/navigation/NavigationCategory.d.ts +5 -0
  102. package/dist/lib/components/navigation/{SidebarCategory.js → NavigationCategory.js} +14 -12
  103. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -0
  104. package/dist/lib/components/navigation/NavigationItem.d.ts +6 -0
  105. package/dist/lib/components/navigation/NavigationItem.js +47 -0
  106. package/dist/lib/components/navigation/NavigationItem.js.map +1 -0
  107. package/dist/lib/components/navigation/{SidebarWrapper.d.ts → NavigationWrapper.d.ts} +1 -1
  108. package/dist/lib/components/navigation/{SidebarWrapper.js → NavigationWrapper.js} +4 -4
  109. package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -0
  110. package/dist/lib/components/navigation/utils.d.ts +7 -9
  111. package/dist/lib/components/navigation/utils.js +17 -17
  112. package/dist/lib/components/navigation/utils.js.map +1 -1
  113. package/dist/lib/core/ZudokuContext.d.ts +10 -12
  114. package/dist/lib/core/ZudokuContext.js +7 -9
  115. package/dist/lib/core/ZudokuContext.js.map +1 -1
  116. package/dist/lib/core/plugins.d.ts +2 -2
  117. package/dist/lib/errors/ErrorAlert.js +2 -3
  118. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  119. package/dist/lib/hooks/useEvent.test.js +5 -3
  120. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  121. package/dist/lib/hooks/useHotkey.d.ts +4 -0
  122. package/dist/lib/hooks/useHotkey.js +58 -0
  123. package/dist/lib/hooks/useHotkey.js.map +1 -0
  124. package/dist/lib/plugins/api-catalog/Catalog.d.ts +1 -1
  125. package/dist/lib/plugins/api-catalog/index.d.ts +6 -6
  126. package/dist/lib/plugins/api-catalog/index.js +10 -10
  127. package/dist/lib/plugins/api-catalog/index.js.map +1 -1
  128. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +12 -15
  129. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  130. package/dist/lib/plugins/api-keys/index.js +24 -5
  131. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  132. package/dist/lib/plugins/custom-pages/index.d.ts +4 -6
  133. package/dist/lib/plugins/custom-pages/index.js +15 -10
  134. package/dist/lib/plugins/custom-pages/index.js.map +1 -1
  135. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -2
  136. package/dist/lib/plugins/markdown/MdxPage.js +28 -9
  137. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  138. package/dist/lib/plugins/markdown/index.d.ts +10 -2
  139. package/dist/lib/plugins/markdown/index.js +9 -26
  140. package/dist/lib/plugins/markdown/index.js.map +1 -1
  141. package/dist/lib/plugins/openapi/OperationList.js +2 -3
  142. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  143. package/dist/lib/plugins/openapi/OperationListItem.js +2 -2
  144. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  145. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  146. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  147. package/dist/lib/plugins/openapi/SchemaList.js +2 -3
  148. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  149. package/dist/lib/plugins/openapi/Sidecar.js +1 -1
  150. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  151. package/dist/lib/plugins/openapi/SidecarExamples.js +1 -1
  152. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  153. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  154. package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
  155. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  156. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +3 -3
  157. package/dist/lib/plugins/openapi/graphql/graphql.js +2 -2
  158. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  159. package/dist/lib/plugins/openapi/index.d.ts +3 -3
  160. package/dist/lib/plugins/openapi/index.js +9 -9
  161. package/dist/lib/plugins/openapi/index.js.map +1 -1
  162. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -3
  163. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +2 -2
  164. package/dist/lib/plugins/openapi/playground/BodyPanel.js +16 -12
  165. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  166. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.d.ts +8 -0
  167. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +11 -0
  168. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -0
  169. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +2 -2
  170. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  171. package/dist/lib/plugins/openapi/playground/Headers.d.ts +3 -2
  172. package/dist/lib/plugins/openapi/playground/Headers.js +52 -30
  173. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  174. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +2 -1
  175. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -1
  176. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -2
  177. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -1
  178. package/dist/lib/plugins/openapi/playground/InlineInput.js +1 -1
  179. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +1 -1
  180. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +2 -2
  181. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  182. package/dist/lib/plugins/openapi/playground/PathParams.js +1 -2
  183. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  184. package/dist/lib/plugins/openapi/playground/Playground.js +47 -34
  185. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  186. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  187. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  188. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +2 -2
  189. package/dist/lib/plugins/openapi/playground/QueryParams.js +38 -23
  190. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  191. package/dist/lib/plugins/openapi/playground/Spinner.d.ts +2 -0
  192. package/dist/lib/plugins/openapi/playground/Spinner.js +63 -0
  193. package/dist/lib/plugins/openapi/playground/Spinner.js.map +1 -0
  194. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.d.ts +3 -0
  195. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js +13 -0
  196. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js.map +1 -0
  197. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.d.ts +1 -0
  198. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +12 -0
  199. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -0
  200. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +12 -0
  201. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js +11 -0
  202. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js.map +1 -0
  203. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.d.ts +8 -0
  204. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +69 -0
  205. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -0
  206. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +7 -4
  207. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +25 -32
  208. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  209. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +4 -2
  210. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +8 -10
  211. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  212. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +3 -3
  213. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  214. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +2 -3
  215. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  216. package/dist/lib/plugins/openapi/schema/SchemaView.js +5 -5
  217. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  218. package/dist/lib/plugins/openapi/schema/utils.js +3 -2
  219. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  220. package/dist/lib/plugins/openapi/util/createNavigationCategory.d.ts +9 -0
  221. package/dist/lib/plugins/openapi/util/{createSidebarCategory.js → createNavigationCategory.js} +5 -4
  222. package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -0
  223. package/dist/lib/plugins/openapi/util/getRoutes.js +2 -2
  224. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  225. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
  226. package/dist/lib/ui/Alert.d.ts +5 -4
  227. package/dist/lib/ui/Alert.js +12 -10
  228. package/dist/lib/ui/Alert.js.map +1 -1
  229. package/dist/lib/ui/CodeBlock.d.ts +1 -2
  230. package/dist/lib/ui/CodeBlock.js +10 -11
  231. package/dist/lib/ui/CodeBlock.js.map +1 -1
  232. package/dist/lib/ui/Dialog.js +1 -1
  233. package/dist/lib/ui/Dialog.js.map +1 -1
  234. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +15 -0
  235. package/dist/lib/ui/EmbeddedCodeBlock.js +18 -0
  236. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -0
  237. package/dist/lib/ui/Select.js +1 -1
  238. package/dist/lib/ui/SyntaxHighlight.d.ts +3 -1
  239. package/dist/lib/ui/SyntaxHighlight.js +3 -2
  240. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  241. package/dist/lib/util/MdxComponents.d.ts +9 -1
  242. package/dist/lib/util/MdxComponents.js +4 -2
  243. package/dist/lib/util/MdxComponents.js.map +1 -1
  244. package/dist/lib/util/os.d.ts +2 -0
  245. package/dist/lib/util/os.js +21 -0
  246. package/dist/lib/util/os.js.map +1 -0
  247. package/dist/lib/util/useCopyToClipboard.d.ts +1 -0
  248. package/dist/lib/util/useCopyToClipboard.js +11 -0
  249. package/dist/lib/util/useCopyToClipboard.js.map +1 -0
  250. package/dist/lib/util/useScrollToAnchor.js +3 -3
  251. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  252. package/dist/vite/api/SchemaManager.d.ts +4 -4
  253. package/dist/vite/api/SchemaManager.js +25 -21
  254. package/dist/vite/api/SchemaManager.js.map +1 -1
  255. package/dist/vite/api/SchemaManager.test.js +4 -4
  256. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  257. package/dist/vite/api/schema-codegen.js +42 -11
  258. package/dist/vite/api/schema-codegen.js.map +1 -1
  259. package/dist/vite/api/schema-codegen.test.js +82 -0
  260. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  261. package/dist/vite/build.js +1 -1
  262. package/dist/vite/config.js +12 -2
  263. package/dist/vite/config.js.map +1 -1
  264. package/dist/vite/css/plugin.js +11 -0
  265. package/dist/vite/css/plugin.js.map +1 -1
  266. package/dist/vite/dev-server.js +1 -1
  267. package/dist/vite/mdx/remark-last-modified.d.ts +3 -0
  268. package/dist/vite/mdx/remark-last-modified.js +56 -0
  269. package/dist/vite/mdx/remark-last-modified.js.map +1 -0
  270. package/dist/vite/mdx/utils.d.ts +2 -0
  271. package/dist/vite/mdx/utils.js +31 -0
  272. package/dist/vite/mdx/utils.js.map +1 -0
  273. package/dist/vite/plugin-api.js +8 -8
  274. package/dist/vite/plugin-api.js.map +1 -1
  275. package/dist/vite/plugin-config-reload.js +2 -0
  276. package/dist/vite/plugin-config-reload.js.map +1 -1
  277. package/dist/vite/plugin-custom-pages.js +2 -2
  278. package/dist/vite/plugin-custom-pages.js.map +1 -1
  279. package/dist/vite/plugin-docs.js +61 -59
  280. package/dist/vite/plugin-docs.js.map +1 -1
  281. package/dist/vite/plugin-frontmatter.js +6 -2
  282. package/dist/vite/plugin-frontmatter.js.map +1 -1
  283. package/dist/vite/plugin-mdx.js +15 -35
  284. package/dist/vite/plugin-mdx.js.map +1 -1
  285. package/dist/vite/{plugin-sidebar.d.ts → plugin-navigation.d.ts} +1 -1
  286. package/dist/vite/{plugin-sidebar.js → plugin-navigation.js} +20 -19
  287. package/dist/vite/plugin-navigation.js.map +1 -0
  288. package/dist/vite/plugin-theme.d.ts +8 -0
  289. package/dist/vite/plugin-theme.js +235 -0
  290. package/dist/vite/plugin-theme.js.map +1 -0
  291. package/dist/vite/plugin-theme.test.d.ts +1 -0
  292. package/dist/vite/plugin-theme.test.js +291 -0
  293. package/dist/vite/plugin-theme.test.js.map +1 -0
  294. package/dist/vite/plugin.js +4 -6
  295. package/dist/vite/plugin.js.map +1 -1
  296. package/dist/vite/shadcn-registry.d.ts +45 -0
  297. package/dist/vite/shadcn-registry.js +29 -0
  298. package/dist/vite/shadcn-registry.js.map +1 -0
  299. package/lib/Alert-CT_ViLrJ.js +161 -0
  300. package/lib/Alert-CT_ViLrJ.js.map +1 -0
  301. package/lib/CodeBlock-DAKxs_Tu.js +85 -0
  302. package/lib/CodeBlock-DAKxs_Tu.js.map +1 -0
  303. package/lib/Command-xsbs2uhf.js +140 -0
  304. package/lib/Command-xsbs2uhf.js.map +1 -0
  305. package/lib/{Dialog-BxpuVLh9.js → Dialog-CiIdyz6a.js} +5 -5
  306. package/lib/Dialog-CiIdyz6a.js.map +1 -0
  307. package/lib/Drawer-BzkOKwgC.js.map +1 -1
  308. package/lib/MdxPage-swXPJ0gf.js +110 -0
  309. package/lib/MdxPage-swXPJ0gf.js.map +1 -0
  310. package/lib/OasProvider-CDAM3TB1.js +35 -0
  311. package/lib/OasProvider-CDAM3TB1.js.map +1 -0
  312. package/lib/{OperationList-BISd29LY.js → OperationList-C9Hb9ql8.js} +582 -569
  313. package/lib/OperationList-C9Hb9ql8.js.map +1 -0
  314. package/lib/Pagination-VGlgeCmS.js +36 -0
  315. package/lib/Pagination-VGlgeCmS.js.map +1 -0
  316. package/lib/RouteGuard-CbKd7_9h.js +737 -0
  317. package/lib/RouteGuard-CbKd7_9h.js.map +1 -0
  318. package/lib/{SchemaList-BqnRo5ov.js → SchemaList-BAbh1BXO.js} +32 -43
  319. package/lib/SchemaList-BAbh1BXO.js.map +1 -0
  320. package/lib/{SchemaView-CtYJpxQI.js → SchemaView-C2Io712T.js} +95 -104
  321. package/lib/SchemaView-C2Io712T.js.map +1 -0
  322. package/lib/{SignUp-CrjeBbqN.js → SignUp-5RUdVhnq.js} +13 -13
  323. package/lib/{SignUp-CrjeBbqN.js.map → SignUp-5RUdVhnq.js.map} +1 -1
  324. package/lib/{Markdown-BUE2ViaD.js → Slot-DwZlQ-vX.js} +3320 -2937
  325. package/lib/Slot-DwZlQ-vX.js.map +1 -0
  326. package/lib/{SyntaxHighlight-DtvR7RLF.js → SyntaxHighlight-CrjhGEwT.js} +717 -716
  327. package/lib/{SyntaxHighlight-DtvR7RLF.js.map → SyntaxHighlight-CrjhGEwT.js.map} +1 -1
  328. package/lib/{Toc-ClJBmdtI.js → Toc-WCmwFkX-.js} +2 -2
  329. package/lib/{Toc-ClJBmdtI.js.map → Toc-WCmwFkX-.js.map} +1 -1
  330. package/lib/{chunk-DQRVZFIR-BblmKnHy.js → chunk-DQRVZFIR-DHK7_Ilc.js} +7 -7
  331. package/lib/{chunk-DQRVZFIR-BblmKnHy.js.map → chunk-DQRVZFIR-DHK7_Ilc.js.map} +1 -1
  332. package/lib/{circular-pOdgLzpG.js → circular-B42RaanD.js} +2 -2
  333. package/lib/{circular-pOdgLzpG.js.map → circular-B42RaanD.js.map} +1 -1
  334. package/lib/clerk-BDZ31hjU.js +25190 -0
  335. package/lib/clerk-BDZ31hjU.js.map +1 -0
  336. package/lib/{createServer-qAtUf99r.js → createServer-BKFsRuuk.js} +6 -6
  337. package/lib/{createServer-qAtUf99r.js.map → createServer-BKFsRuuk.js.map} +1 -1
  338. package/lib/{errors-Bpodza84.js → errors-CF2X_x5o.js} +12 -12
  339. package/lib/{errors-Bpodza84.js.map → errors-CF2X_x5o.js.map} +1 -1
  340. package/lib/hook-Bd0yS8M0.js +1503 -0
  341. package/lib/hook-Bd0yS8M0.js.map +1 -0
  342. package/lib/index-B6Re5_cx.js +3469 -0
  343. package/lib/index-B6Re5_cx.js.map +1 -0
  344. package/lib/index-CLy1XyH0.js +3919 -0
  345. package/lib/index-CLy1XyH0.js.map +1 -0
  346. package/lib/{index-BvvmIczU.js → index-CcV90rin.js} +2 -2
  347. package/lib/{index-BvvmIczU.js.map → index-CcV90rin.js.map} +1 -1
  348. package/lib/index-ClhS5TxS.js +107 -0
  349. package/lib/index-ClhS5TxS.js.map +1 -0
  350. package/lib/index-CrcNWbel.js.map +1 -1
  351. package/lib/{index-zddirpDj.js → index-DmNq2fbN.js} +226 -221
  352. package/lib/index-DmNq2fbN.js.map +1 -0
  353. package/lib/ui/Alert.js +54 -38
  354. package/lib/ui/Alert.js.map +1 -1
  355. package/lib/ui/CodeBlock.js +6 -81
  356. package/lib/ui/CodeBlock.js.map +1 -1
  357. package/lib/ui/Command.js +1 -1
  358. package/lib/ui/Dialog.js +23 -23
  359. package/lib/ui/Dialog.js.map +1 -1
  360. package/lib/ui/EmbeddedCodeBlock.js +80 -0
  361. package/lib/ui/EmbeddedCodeBlock.js.map +1 -0
  362. package/lib/ui/Select.js +1 -1
  363. package/lib/ui/Select.js.map +1 -1
  364. package/lib/ui/SyntaxHighlight.js +5 -4
  365. package/lib/ui/SyntaxHighlight.js.map +1 -1
  366. package/lib/{useExposedProps-BZQkZneR.js → useExposedProps-BIYjecPD.js} +2 -2
  367. package/lib/{useExposedProps-BZQkZneR.js.map → useExposedProps-BIYjecPD.js.map} +1 -1
  368. package/lib/zudoku.auth-auth0.js +1 -1
  369. package/lib/zudoku.auth-azureb2c.js +2 -2
  370. package/lib/zudoku.auth-clerk.js +3 -3
  371. package/lib/zudoku.auth-openid.js +2 -2
  372. package/lib/zudoku.components.js +33 -4201
  373. package/lib/zudoku.components.js.map +1 -1
  374. package/lib/zudoku.hooks.js +10 -11
  375. package/lib/zudoku.hooks.js.map +1 -1
  376. package/lib/zudoku.plugin-api-catalog.js +47 -47
  377. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  378. package/lib/zudoku.plugin-api-keys.js +292 -268
  379. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  380. package/lib/zudoku.plugin-custom-pages.js +12 -18
  381. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  382. package/lib/zudoku.plugin-markdown.js +19 -69
  383. package/lib/zudoku.plugin-markdown.js.map +1 -1
  384. package/lib/zudoku.plugin-openapi.js +6 -6
  385. package/lib/zudoku.plugin-redirect.js +1 -1
  386. package/lib/zudoku.plugin-search-pagefind.js +201 -111
  387. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  388. package/lib/zudoku.plugins.js.map +1 -1
  389. package/package.json +23 -19
  390. package/src/app/ZuploBuildConfig.ts +8 -8
  391. package/src/app/defaultTheme.css +68 -49
  392. package/src/app/demo.tsx +6 -5
  393. package/src/app/entry.client.tsx +0 -2
  394. package/src/app/entry.server.tsx +0 -2
  395. package/src/app/env.ts +8 -0
  396. package/src/app/main.css +10 -53
  397. package/src/app/main.tsx +13 -11
  398. package/src/app/standalone.tsx +7 -6
  399. package/src/lib/auth/issuer.test.ts +17 -1
  400. package/src/lib/auth/issuer.ts +4 -1
  401. package/src/lib/authentication/components/CallbackHandler.tsx +1 -1
  402. package/src/lib/components/Autocomplete.tsx +2 -1
  403. package/src/lib/components/Banner.tsx +1 -1
  404. package/src/lib/components/BuildCheck.tsx +1 -1
  405. package/src/lib/components/ErrorPage.tsx +3 -3
  406. package/src/lib/components/Footer.tsx +1 -1
  407. package/src/lib/components/Framed.tsx +51 -0
  408. package/src/lib/components/Header.tsx +20 -20
  409. package/src/lib/components/Heading.tsx +7 -3
  410. package/src/lib/components/Main.tsx +9 -9
  411. package/src/lib/components/Markdown.tsx +3 -5
  412. package/src/lib/components/MobileTopNavigation.tsx +18 -13
  413. package/src/lib/components/NotFoundPage.tsx +3 -3
  414. package/src/lib/components/PageProgress.tsx +28 -0
  415. package/src/lib/components/Pagination.tsx +4 -4
  416. package/src/lib/components/TopNavigation.tsx +57 -66
  417. package/src/lib/components/Typography.tsx +14 -0
  418. package/src/lib/components/context/ZudokuContext.ts +50 -32
  419. package/src/lib/components/index.ts +2 -0
  420. package/src/lib/components/navigation/{Sidebar.tsx → Navigation.tsx} +18 -16
  421. package/src/lib/components/navigation/{SidebarBadge.tsx → NavigationBadge.tsx} +1 -1
  422. package/src/lib/components/navigation/{SidebarCategory.tsx → NavigationCategory.tsx} +16 -14
  423. package/src/lib/components/navigation/{SidebarItem.tsx → NavigationItem.tsx} +23 -17
  424. package/src/lib/components/navigation/{SidebarWrapper.tsx → NavigationWrapper.tsx} +3 -3
  425. package/src/lib/components/navigation/utils.ts +27 -28
  426. package/src/lib/core/ZudokuContext.ts +14 -20
  427. package/src/lib/core/plugins.ts +2 -2
  428. package/src/lib/errors/ErrorAlert.tsx +3 -9
  429. package/src/lib/hooks/useEvent.test.tsx +7 -5
  430. package/src/lib/hooks/useHotkey.ts +70 -0
  431. package/src/lib/plugins/api-catalog/Catalog.tsx +1 -1
  432. package/src/lib/plugins/api-catalog/index.tsx +19 -19
  433. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +41 -22
  434. package/src/lib/plugins/api-keys/index.tsx +27 -7
  435. package/src/lib/plugins/custom-pages/index.tsx +21 -16
  436. package/src/lib/plugins/markdown/MdxPage.tsx +72 -18
  437. package/src/lib/plugins/markdown/index.tsx +28 -41
  438. package/src/lib/plugins/openapi/OperationList.tsx +8 -18
  439. package/src/lib/plugins/openapi/OperationListItem.tsx +3 -3
  440. package/src/lib/plugins/openapi/ParameterListItem.tsx +6 -0
  441. package/src/lib/plugins/openapi/SchemaList.tsx +5 -11
  442. package/src/lib/plugins/openapi/Sidecar.tsx +1 -0
  443. package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -0
  444. package/src/lib/plugins/openapi/graphql/gql.ts +5 -5
  445. package/src/lib/plugins/openapi/graphql/graphql.ts +6 -6
  446. package/src/lib/plugins/openapi/index.tsx +11 -11
  447. package/src/lib/plugins/openapi/interfaces.ts +3 -3
  448. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +40 -31
  449. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +47 -0
  450. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +7 -3
  451. package/src/lib/plugins/openapi/playground/Headers.tsx +187 -89
  452. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +3 -2
  453. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +7 -12
  454. package/src/lib/plugins/openapi/playground/InlineInput.tsx +1 -1
  455. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +2 -2
  456. package/src/lib/plugins/openapi/playground/PathParams.tsx +4 -5
  457. package/src/lib/plugins/openapi/playground/Playground.tsx +174 -125
  458. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
  459. package/src/lib/plugins/openapi/playground/QueryParams.tsx +104 -58
  460. package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -0
  461. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -0
  462. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +25 -0
  463. package/src/lib/plugins/openapi/playground/result-panel/Highlight.tsx +26 -0
  464. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +115 -0
  465. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +103 -97
  466. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +68 -92
  467. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +3 -3
  468. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +2 -3
  469. package/src/lib/plugins/openapi/schema/SchemaView.tsx +6 -11
  470. package/src/lib/plugins/openapi/schema/utils.ts +3 -2
  471. package/src/lib/plugins/openapi/util/{createSidebarCategory.tsx → createNavigationCategory.tsx} +6 -5
  472. package/src/lib/plugins/openapi/util/getRoutes.tsx +2 -2
  473. package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
  474. package/src/lib/ui/Alert.tsx +44 -38
  475. package/src/lib/ui/CodeBlock.tsx +40 -55
  476. package/src/lib/ui/Dialog.tsx +2 -2
  477. package/src/lib/ui/EmbeddedCodeBlock.tsx +94 -0
  478. package/src/lib/ui/Select.tsx +1 -1
  479. package/src/lib/ui/SyntaxHighlight.tsx +11 -3
  480. package/src/lib/util/MdxComponents.tsx +13 -2
  481. package/src/lib/util/os.ts +18 -0
  482. package/src/lib/util/useCopyToClipboard.ts +17 -0
  483. package/src/lib/util/useScrollToAnchor.ts +3 -3
  484. package/dist/config/validators/InputSidebarSchema.d.ts +0 -220
  485. package/dist/config/validators/InputSidebarSchema.js +0 -63
  486. package/dist/config/validators/InputSidebarSchema.js.map +0 -1
  487. package/dist/config/validators/SidebarSchema.d.ts +0 -46
  488. package/dist/config/validators/SidebarSchema.js +0 -118
  489. package/dist/config/validators/SidebarSchema.js.map +0 -1
  490. package/dist/lib/components/navigation/Sidebar.d.ts +0 -5
  491. package/dist/lib/components/navigation/Sidebar.js +0 -10
  492. package/dist/lib/components/navigation/Sidebar.js.map +0 -1
  493. package/dist/lib/components/navigation/SidebarBadge.js.map +0 -1
  494. package/dist/lib/components/navigation/SidebarCategory.d.ts +0 -5
  495. package/dist/lib/components/navigation/SidebarCategory.js.map +0 -1
  496. package/dist/lib/components/navigation/SidebarItem.d.ts +0 -6
  497. package/dist/lib/components/navigation/SidebarItem.js +0 -44
  498. package/dist/lib/components/navigation/SidebarItem.js.map +0 -1
  499. package/dist/lib/components/navigation/SidebarWrapper.js.map +0 -1
  500. package/dist/lib/plugins/custom-pages/CustomPage.d.ts +0 -2
  501. package/dist/lib/plugins/custom-pages/CustomPage.js +0 -11
  502. package/dist/lib/plugins/custom-pages/CustomPage.js.map +0 -1
  503. package/dist/lib/plugins/markdown/resolver.d.ts +0 -32
  504. package/dist/lib/plugins/markdown/resolver.js +0 -46
  505. package/dist/lib/plugins/markdown/resolver.js.map +0 -1
  506. package/dist/lib/plugins/openapi/playground/UrlDisplay.d.ts +0 -4
  507. package/dist/lib/plugins/openapi/playground/UrlDisplay.js +0 -22
  508. package/dist/lib/plugins/openapi/playground/UrlDisplay.js.map +0 -1
  509. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.d.ts +0 -7
  510. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +0 -11
  511. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +0 -1
  512. package/dist/lib/plugins/openapi/util/createSidebarCategory.d.ts +0 -9
  513. package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +0 -1
  514. package/dist/vite/plugin-configure-tailwind.d.ts +0 -2
  515. package/dist/vite/plugin-configure-tailwind.js +0 -38
  516. package/dist/vite/plugin-configure-tailwind.js.map +0 -1
  517. package/dist/vite/plugin-sidebar.js.map +0 -1
  518. package/dist/vite/plugin-theme-css.d.ts +0 -5
  519. package/dist/vite/plugin-theme-css.js +0 -77
  520. package/dist/vite/plugin-theme-css.js.map +0 -1
  521. package/lib/Callout-CoVxYafP.js +0 -231
  522. package/lib/Callout-CoVxYafP.js.map +0 -1
  523. package/lib/CategoryHeading-Cu2RwgjC.js +0 -10
  524. package/lib/CategoryHeading-Cu2RwgjC.js.map +0 -1
  525. package/lib/Dialog-BxpuVLh9.js.map +0 -1
  526. package/lib/Markdown-BUE2ViaD.js.map +0 -1
  527. package/lib/MdxPage-By4UkRkI.js +0 -84
  528. package/lib/MdxPage-By4UkRkI.js.map +0 -1
  529. package/lib/OasProvider-C6_Kx5O7.js +0 -33
  530. package/lib/OasProvider-C6_Kx5O7.js.map +0 -1
  531. package/lib/OperationList-BISd29LY.js.map +0 -1
  532. package/lib/Pagination-CCxhL836.js +0 -36
  533. package/lib/Pagination-CCxhL836.js.map +0 -1
  534. package/lib/RouteGuard-CgmsSw7T.js +0 -55
  535. package/lib/RouteGuard-CgmsSw7T.js.map +0 -1
  536. package/lib/SchemaList-BqnRo5ov.js.map +0 -1
  537. package/lib/SchemaView-CtYJpxQI.js.map +0 -1
  538. package/lib/Slot-DANV2b7_.js +0 -160
  539. package/lib/Slot-DANV2b7_.js.map +0 -1
  540. package/lib/clerk-yAKDC3Qz.js +0 -24812
  541. package/lib/clerk-yAKDC3Qz.js.map +0 -1
  542. package/lib/hook-wIlTGE-2.js +0 -1486
  543. package/lib/hook-wIlTGE-2.js.map +0 -1
  544. package/lib/index--oeBayMa.js +0 -86
  545. package/lib/index--oeBayMa.js.map +0 -1
  546. package/lib/index-Bn6Lc9tq.js +0 -9
  547. package/lib/index-Bn6Lc9tq.js.map +0 -1
  548. package/lib/index-QzXzw_ra.js +0 -24
  549. package/lib/index-QzXzw_ra.js.map +0 -1
  550. package/lib/index-RFzRn4fM.js +0 -3226
  551. package/lib/index-RFzRn4fM.js.map +0 -1
  552. package/lib/index-zddirpDj.js.map +0 -1
  553. package/lib/index.esm-BFcSKCe-.js +0 -683
  554. package/lib/index.esm-BFcSKCe-.js.map +0 -1
  555. package/lib/joinPath-B7kNnUX4.js +0 -8
  556. package/lib/joinPath-B7kNnUX4.js.map +0 -1
  557. package/lib/mutation-C-kdA_1r.js +0 -196
  558. package/lib/mutation-C-kdA_1r.js.map +0 -1
  559. package/lib/objectEntries-yMIkr2mI.js +0 -5
  560. package/lib/objectEntries-yMIkr2mI.js.map +0 -1
  561. package/lib/react-nprogress.esm-C2MPXjiJ.js +0 -389
  562. package/lib/react-nprogress.esm-C2MPXjiJ.js.map +0 -1
  563. package/lib/useLatest-hmRS46UF.js +0 -11
  564. package/lib/useLatest-hmRS46UF.js.map +0 -1
  565. package/lib/useMutation-3Ph3x6En.js +0 -97
  566. package/lib/useMutation-3Ph3x6En.js.map +0 -1
  567. package/src/lib/plugins/custom-pages/CustomPage.tsx +0 -18
  568. package/src/lib/plugins/markdown/resolver.ts +0 -59
  569. package/src/lib/plugins/openapi/playground/UrlDisplay.tsx +0 -32
  570. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +0 -73
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zudoku",
3
- "version": "0.0.0-f3d517c",
3
+ "version": "0.0.0-f40ea27",
4
4
  "type": "module",
5
5
  "homepage": "https://zudoku.dev",
6
6
  "repository": {
@@ -174,8 +174,8 @@
174
174
  "@tailwindcss/vite": "4.1.7",
175
175
  "@tanem/react-nprogress": "5.0.55",
176
176
  "@tanstack/react-query": "5.74.3",
177
- "@types/react": "19.1.1",
178
- "@types/react-dom": "19.1.2",
177
+ "@types/react": "19.1.8",
178
+ "@types/react-dom": "19.1.6",
179
179
  "@vitejs/plugin-react": "4.4.1",
180
180
  "@zudoku/httpsnippet": "10.0.9",
181
181
  "@zudoku/react-helmet-async": "2.0.5",
@@ -191,7 +191,8 @@
191
191
  "express": "5.1.0",
192
192
  "fast-equals": "5.2.2",
193
193
  "framer-motion": "^12.12.2",
194
- "glob": "11.0.2",
194
+ "glob": "11.0.3",
195
+ "glob-parent": "6.0.2",
195
196
  "graphql": "16.11.0",
196
197
  "graphql-type-json": "0.3.2",
197
198
  "graphql-yoga": "5.13.5",
@@ -200,10 +201,12 @@
200
201
  "hast-util-to-string": "3.0.1",
201
202
  "html-url-attributes": "^3.0.1",
202
203
  "http-terminator": "3.2.0",
204
+ "json-schema-to-typescript-lite": "14.1.0",
203
205
  "loglevel": "1.9.2",
204
206
  "lru-cache": "11.0.2",
205
- "lucide-react": "0.488.0",
207
+ "lucide-react": "0.515.0",
206
208
  "minimatch": "10.0.1",
209
+ "motion": "12.0.0-alpha.2",
207
210
  "nanoevents": "^9.1.0",
208
211
  "next-themes": "0.4.4",
209
212
  "oauth4webapi": "2.17.0",
@@ -211,7 +214,7 @@
211
214
  "openapi-types": "12.1.3",
212
215
  "pagefind": "1.4.0-alpha.1",
213
216
  "picocolors": "1.1.1",
214
- "piscina": "5.0.0-alpha.2",
217
+ "piscina": "5.0.0",
215
218
  "posthog-node": "4.17.1",
216
219
  "react-error-boundary": "5.0.0",
217
220
  "react-hook-form": "7.57.0",
@@ -243,20 +246,21 @@
243
246
  "vaul": "1.1.2",
244
247
  "vfile": "6.0.3",
245
248
  "vite": "6.3.5",
246
- "yaml": "2.7.1",
249
+ "yaml": "2.8.0",
247
250
  "yargs": "17.7.2",
248
- "zod": "3.25.51",
249
- "zod-validation-error": "3.4.1",
250
- "zustand": "5.0.3"
251
+ "zod": "3.25.56",
252
+ "zod-to-ts": "1.2.0",
253
+ "zustand": "5.0.5"
251
254
  },
252
255
  "devDependencies": {
253
- "@graphql-codegen/cli": "5.0.6",
254
- "@graphql-codegen/client-preset": "4.8.0",
256
+ "@graphql-codegen/cli": "5.0.7",
257
+ "@graphql-codegen/client-preset": "4.8.2",
255
258
  "@testing-library/dom": "10.4.0",
256
259
  "@testing-library/jest-dom": "6.6.3",
257
260
  "@testing-library/react": "16.3.0",
258
261
  "@types/estree": "1.0.7",
259
262
  "@types/express": "5.0.2",
263
+ "@types/glob-parent": "5.1.3",
260
264
  "@types/har-format": "1.2.16",
261
265
  "@types/hast": "^3.0.4",
262
266
  "@types/json-schema": "7.0.15",
@@ -275,18 +279,18 @@
275
279
  "react": "19.1.0",
276
280
  "react-dom": "19.1.0",
277
281
  "rollup-plugin-visualizer": "5.14.0",
282
+ "tsx": "4.19.4",
278
283
  "typescript": "5.8.3",
279
- "vitest": "3.1.4"
284
+ "vitest": "3.2.3"
280
285
  },
281
286
  "peerDependencies": {
282
- "react": ">=19",
283
- "react-dom": ">=19",
284
287
  "@azure/msal-browser": "^4.13.0",
285
288
  "@clerk/clerk-js": "^5.63.1",
286
289
  "@sentry/react": "^9.12.0",
287
- "@supabase/supabase-js": "^2.49.4"
290
+ "@supabase/supabase-js": "^2.49.4",
291
+ "react": ">=19",
292
+ "react-dom": ">=19"
288
293
  },
289
- "optionalDependencies": {},
290
294
  "peerDependenciesMeta": {
291
295
  "@azure/msal-browser": {
292
296
  "optional": true
@@ -305,12 +309,12 @@
305
309
  "build": "tsc --project tsconfig.app.json",
306
310
  "build:dev": "esbuild './src/**/*.ts' --format=esm --platform=node --target=node22 --outdir=dist --splitting --log-level=warning",
307
311
  "build:vite": "vite build",
308
- "generate:types": "node scripts/generate-types.js",
312
+ "generate:types": "tsx scripts/generate-types.js && tsx scripts/generate-flat-config.js",
309
313
  "build:standalone:vite": "vite build --mode standalone --config vite.standalone.config.ts",
310
314
  "build:standalone:html": "cp ./src/app/standalone.html ./standalone/standalone.html && cp ./src/app/demo.html ./standalone/demo.html && cp ./src/app/demo-cdn.html ./standalone/index.html && cp standalone/zudoku.css standalone/style.css",
311
315
  "clean": "tsc --build --clean",
312
316
  "codegen": "graphql-codegen --config ./src/codegen.ts",
313
- "test": "vitest run"
317
+ "test": "vitest run --typecheck"
314
318
  },
315
319
  "module": "./dist/index.js",
316
320
  "types": "./dist/index.d.ts"
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const EntitlementsSchema = z.object({
4
4
  devPortalZuploBranding: z.boolean(),
@@ -19,14 +19,14 @@ export const EntitlementsSchema = z.object({
19
19
 
20
20
  export const BuildConfigSchema = z.object({
21
21
  entitlements: EntitlementsSchema,
22
- environmentType: z.string(),
22
+ environmentType: z.string().optional(),
23
23
  deploymentName: z.string(),
24
- deploymentUrl: z.string(),
25
- projectId: z.string(),
26
- projectType: z.string(),
27
- sourceType: z.string(),
28
- accountName: z.string(),
29
- projectName: z.string(),
24
+ deploymentUrl: z.string().optional(),
25
+ projectId: z.string().optional(),
26
+ projectType: z.string().optional(),
27
+ sourceType: z.string().optional(),
28
+ accountName: z.string().optional(),
29
+ projectName: z.string().optional(),
30
30
  });
31
31
 
32
32
  export type BuildConfig = z.infer<typeof BuildConfigSchema>;
@@ -1,54 +1,73 @@
1
+ /**
2
+ * Default theme for Zudoku. Based on shadcn/ui zinc base colors.
3
+ * See: https://ui.shadcn.com/docs/theming#zinc
4
+ */
5
+
1
6
  :root {
2
- --background: oklch(100% 0 none);
3
- --foreground: oklch(14.1% 0.004 286);
4
- --card: oklch(100% 0 none);
5
- --card-foreground: oklch(14.1% 0.004 286);
6
- --popover: oklch(100% 0 none);
7
- --popover-foreground: oklch(14.1% 0.004 286);
8
- --primary: oklch(21% 0.006 286);
9
- --primary-foreground: oklch(98.5% 0 none);
10
- --secondary: oklch(96.8% 0.001 286);
11
- --secondary-foreground: oklch(21% 0.006 286);
12
- --muted: oklch(96.8% 0.001 286);
13
- --muted-foreground: oklch(55.2% 0.014 286);
14
- --accent: oklch(96.8% 0.001 286);
15
- --accent-foreground: oklch(21% 0.006 286);
16
- --destructive: oklch(63.7% 0.208 25.3);
17
- --destructive-foreground: oklch(98.5% 0 none);
18
- --border: oklch(96% 0.002 286);
19
- --input: oklch(92% 0.004 286);
20
- --ring: oklch(21% 0.006 286);
21
- --chart-1: oklch(67.7% 0.157 35.2);
22
- --chart-2: oklch(63.1% 0.101 183);
23
- --chart-3: oklch(37.9% 0.044 226);
24
- --chart-4: oklch(83.4% 0.119 88.1);
25
- --chart-5: oklch(78.3% 0.126 58.7);
26
- --radius: 0.75rem;
7
+ --radius: 0.625rem;
8
+ --background: oklch(1 0 0);
9
+ --foreground: oklch(0.141 0.005 285.823);
10
+ --card: oklch(1 0 0);
11
+ --card-foreground: oklch(0.141 0.005 285.823);
12
+ --popover: oklch(1 0 0);
13
+ --popover-foreground: oklch(0.141 0.005 285.823);
14
+ --primary: oklch(0.21 0.006 285.885);
15
+ --primary-foreground: oklch(0.985 0 0);
16
+ --secondary: oklch(0.967 0.001 286.375);
17
+ --secondary-foreground: oklch(0.21 0.006 285.885);
18
+ --muted: oklch(0.967 0.001 286.375);
19
+ --muted-foreground: oklch(0.552 0.016 285.938);
20
+ --accent: oklch(0.967 0.001 286.375);
21
+ --accent-foreground: oklch(0.21 0.006 285.885);
22
+ --destructive: oklch(0.577 0.245 27.325);
23
+ --border: oklch(0.92 0.004 286.32);
24
+ --input: oklch(0.92 0.004 286.32);
25
+ --ring: oklch(0.705 0.015 286.067);
26
+ --chart-1: oklch(0.646 0.222 41.116);
27
+ --chart-2: oklch(0.6 0.118 184.704);
28
+ --chart-3: oklch(0.398 0.07 227.392);
29
+ --chart-4: oklch(0.828 0.189 84.429);
30
+ --chart-5: oklch(0.769 0.188 70.08);
31
+ --sidebar: oklch(0.985 0 0);
32
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
33
+ --sidebar-primary: oklch(0.21 0.006 285.885);
34
+ --sidebar-primary-foreground: oklch(0.985 0 0);
35
+ --sidebar-accent: oklch(0.967 0.001 286.375);
36
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
37
+ --sidebar-border: oklch(0.92 0.004 286.32);
38
+ --sidebar-ring: oklch(0.705 0.015 286.067);
27
39
  }
28
40
 
29
41
  .dark {
30
- --background: oklch(14.1% 0.004 286);
31
- --foreground: oklch(98.5% 0 none);
32
- --card: oklch(14.1% 0.004 286);
33
- --card-foreground: oklch(98.5% 0 none);
34
- --popover: oklch(14.1% 0.004 286);
35
- --popover-foreground: oklch(98.5% 0 none);
36
- --primary: oklch(98.5% 0 none);
37
- --primary-foreground: oklch(21% 0.006 286);
38
- --secondary: oklch(27.4% 0.005 286);
39
- --secondary-foreground: oklch(98.5% 0 none);
40
- --muted: oklch(27.4% 0.005 286);
41
- --muted-foreground: oklch(71.2% 0.013 286);
42
- --accent: oklch(27.4% 0.005 286);
43
- --accent-foreground: oklch(98.5% 0 none);
44
- --destructive: oklch(39.6% 0.133 25.7);
45
- --destructive-foreground: oklch(98.5% 0 none);
46
- --border: oklch(27.4% 0.005 286);
47
- --input: oklch(27.4% 0.005 286);
48
- --ring: oklch(87.1% 0.005 286);
49
- --chart-1: oklch(52.9% 0.193 262);
50
- --chart-2: oklch(69.8% 0.134 165);
51
- --chart-3: oklch(72.3% 0.15 60.6);
52
- --chart-4: oklch(61.9% 0.204 313);
53
- --chart-5: oklch(61.2% 0.209 6.39);
42
+ --background: oklch(0.141 0.005 285.823);
43
+ --foreground: oklch(0.985 0 0);
44
+ --card: oklch(0.21 0.006 285.885);
45
+ --card-foreground: oklch(0.985 0 0);
46
+ --popover: oklch(0.21 0.006 285.885);
47
+ --popover-foreground: oklch(0.985 0 0);
48
+ --primary: oklch(0.92 0.004 286.32);
49
+ --primary-foreground: oklch(0.21 0.006 285.885);
50
+ --secondary: oklch(0.274 0.006 286.033);
51
+ --secondary-foreground: oklch(0.985 0 0);
52
+ --muted: oklch(0.274 0.006 286.033);
53
+ --muted-foreground: oklch(0.705 0.015 286.067);
54
+ --accent: oklch(0.274 0.006 286.033);
55
+ --accent-foreground: oklch(0.985 0 0);
56
+ --destructive: oklch(0.704 0.191 22.216);
57
+ --border: oklch(1 0 0 / 10%);
58
+ --input: oklch(1 0 0 / 15%);
59
+ --ring: oklch(0.552 0.016 285.938);
60
+ --chart-1: oklch(0.488 0.243 264.376);
61
+ --chart-2: oklch(0.696 0.17 162.48);
62
+ --chart-3: oklch(0.769 0.188 70.08);
63
+ --chart-4: oklch(0.627 0.265 303.9);
64
+ --chart-5: oklch(0.645 0.246 16.439);
65
+ --sidebar: oklch(0.21 0.006 285.885);
66
+ --sidebar-foreground: oklch(0.985 0 0);
67
+ --sidebar-primary: oklch(0.488 0.243 264.376);
68
+ --sidebar-primary-foreground: oklch(0.985 0 0);
69
+ --sidebar-accent: oklch(0.274 0.006 286.033);
70
+ --sidebar-accent-foreground: oklch(0.985 0 0);
71
+ --sidebar-border: oklch(1 0 0 / 10%);
72
+ --sidebar-ring: oklch(0.552 0.016 285.938);
54
73
  }
package/src/app/demo.tsx CHANGED
@@ -30,15 +30,16 @@ if (!root) {
30
30
  // This directory is not processed by the tailwind plugin
31
31
 
32
32
  const config = {
33
- page: {
34
- pageTitle: "",
33
+ site: {
34
+ title: "",
35
35
  banner: {
36
36
  message: <DemoAnnouncement />,
37
37
  },
38
38
  },
39
- topNavigation: [
39
+ navigation: [
40
40
  {
41
- id: "/",
41
+ type: "link",
42
+ to: "/",
42
43
  label: "API Reference",
43
44
  },
44
45
  ],
@@ -47,7 +48,7 @@ const config = {
47
48
  openApiPlugin({
48
49
  type: "url",
49
50
  input: apiUrl,
50
- navigationId: "/",
51
+ path: "/",
51
52
  }),
52
53
  ],
53
54
  } satisfies ZudokuConfig;
@@ -5,10 +5,8 @@ import {
5
5
  type RouteObject,
6
6
  } from "react-router";
7
7
  import config from "virtual:zudoku-config";
8
- import "virtual:zudoku-theme.css";
9
8
  import "vite/modulepreload-polyfill";
10
9
  import { Bootstrap } from "zudoku/components";
11
- import "./main.css";
12
10
  import { getRoutesByConfig } from "./main.js";
13
11
 
14
12
  const routes = getRoutesByConfig(config);
@@ -10,12 +10,10 @@ import {
10
10
  isRouteErrorResponse,
11
11
  type RouteObject,
12
12
  } from "react-router";
13
- import "virtual:zudoku-theme.css";
14
13
  import "vite/modulepreload-polyfill";
15
14
  import { BootstrapStatic, ServerError } from "zudoku/components";
16
15
  import { NO_DEHYDRATE } from "../lib/components/cache.js";
17
16
  import type { PrerenderResponse } from "../vite/prerender/PrerenderResponse.js";
18
- import "./main.css";
19
17
  import { getRoutesByConfig } from "./main.js";
20
18
  export { getRoutesByConfig };
21
19
 
package/src/app/env.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import z from "zod";
1
2
  import { BuildConfigSchema } from "./ZuploBuildConfig.js";
2
3
 
3
4
  const getZuploBuildConfig = () => {
@@ -9,6 +10,13 @@ const getZuploBuildConfig = () => {
9
10
  );
10
11
  return zuploBuildConfig;
11
12
  } catch (error) {
13
+ if (error instanceof z.ZodError) {
14
+ // eslint-disable-next-line no-console
15
+ console.error("ZUPLO_BUILD_CONFIG is invalid.");
16
+ // eslint-disable-next-line no-console
17
+ console.log(error.errors);
18
+ return undefined;
19
+ }
12
20
  // eslint-disable-next-line no-console
13
21
  console.error(
14
22
  "ZUPLO_BUILD_CONFIG is a reserved environment variable and cannot be used for custom configuration. Please remove it from your environment variables.",
package/src/app/main.css CHANGED
@@ -1,5 +1,4 @@
1
- /* @vite-plugin-inject font */
2
- @import "./defaultTheme.css" layer(theme);
1
+ /* @vite-plugin-inject defaultTheme */
3
2
  @import "tailwindcss" source("..");
4
3
 
5
4
  /* @vite-plugin-inject main */
@@ -7,56 +6,6 @@
7
6
  @plugin "@tailwindcss/typography";
8
7
  @custom-variant dark (&:is(.dark *));
9
8
 
10
- @theme inline {
11
- --color-background: var(--background);
12
- --color-foreground: var(--foreground);
13
- --color-card: var(--card);
14
- --color-card-foreground: var(--card-foreground);
15
- --color-popover: var(--popover);
16
- --color-popover-foreground: var(--popover-foreground);
17
- --color-primary: var(--primary);
18
- --color-primary-foreground: var(--primary-foreground);
19
- --color-secondary: var(--secondary);
20
- --color-secondary-foreground: var(--secondary-foreground);
21
- --color-muted: var(--muted);
22
- --color-muted-foreground: var(--muted-foreground);
23
- --color-accent: var(--accent);
24
- --color-accent-foreground: var(--accent-foreground);
25
- --color-destructive: var(--destructive);
26
- --color-destructive-foreground: var(--destructive-foreground);
27
- --color-border: var(--border);
28
- --color-input: var(--input);
29
- --color-ring: var(--ring);
30
- --color-chart-1: var(--chart-1);
31
- --color-chart-2: var(--chart-2);
32
- --color-chart-3: var(--chart-3);
33
- --color-chart-4: var(--chart-4);
34
- --color-chart-5: var(--chart-5);
35
-
36
- --radius-sm: calc(var(--radius) - 4px);
37
- --radius-md: calc(var(--radius) - 2px);
38
- --radius-lg: var(--radius);
39
- --radius-xl: calc(var(--radius) + 4px);
40
-
41
- --shadow-2xs: var(--shadow-2xs);
42
- --shadow-xs: var(--shadow-xs);
43
- --shadow-sm: var(--shadow-sm);
44
- --shadow: var(--shadow);
45
- --shadow-md: var(--shadow-md);
46
- --shadow-lg: var(--shadow-lg);
47
- --shadow-xl: var(--shadow-xl);
48
- --shadow-2xl: var(--shadow-2xl);
49
-
50
- --color-sidebar: var(--sidebar);
51
- --color-sidebar-foreground: var(--sidebar-foreground);
52
- --color-sidebar-primary: var(--sidebar-primary);
53
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
54
- --color-sidebar-accent: var(--sidebar-accent);
55
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
56
- --color-sidebar-border: var(--sidebar-border);
57
- --color-sidebar-ring: var(--sidebar-ring);
58
- }
59
-
60
9
  @utility prose {
61
10
  a {
62
11
  @apply font-normal underline-offset-4 hover:text-primary;
@@ -74,6 +23,9 @@
74
23
  hr {
75
24
  @apply border-border;
76
25
  }
26
+ code {
27
+ font-weight: 400;
28
+ }
77
29
  code::before {
78
30
  content: none;
79
31
  }
@@ -114,6 +66,11 @@
114
66
  @apply h-full overscroll-none;
115
67
  }
116
68
 
69
+ ::view-transition-old(root),
70
+ ::view-transition-new(root) {
71
+ animation: none;
72
+ }
73
+
117
74
  details summary {
118
75
  @apply cursor-pointer;
119
76
  }
@@ -195,7 +152,7 @@
195
152
  .shiki.not-inline .line {
196
153
  @apply block -mx-4 px-4 w-[calc(100%+2rem)];
197
154
  --highlighted-bg: hsl(
198
- from hsl(var(--muted)) h s calc(l + 4 * var(--dark)) / 50%
155
+ from var(--muted) h s calc(l + 4 * var(--dark)) / 50%
199
156
  );
200
157
  }
201
158
  .shiki .line.highlighted {
package/src/app/main.tsx CHANGED
@@ -6,11 +6,11 @@ import {
6
6
  } from "virtual:zudoku-api-plugins";
7
7
  import { configuredAuthProvider } from "virtual:zudoku-auth";
8
8
  import { configuredCustomPagesPlugin } from "virtual:zudoku-custom-pages-plugin";
9
- import { configuredDocsPlugins } from "virtual:zudoku-docs-plugins";
9
+ import { configuredDocsPlugin } from "virtual:zudoku-docs-plugin";
10
+ import { configuredNavigation } from "virtual:zudoku-navigation";
10
11
  import { configuredRedirectPlugin } from "virtual:zudoku-redirect-plugin";
11
12
  import { configuredSearchPlugin } from "virtual:zudoku-search-plugin";
12
13
  import { registerShiki } from "virtual:zudoku-shiki-register";
13
- import { configuredSidebar } from "virtual:zudoku-sidebar";
14
14
  import "virtual:zudoku-theme.css";
15
15
  import {
16
16
  BuildCheck,
@@ -25,6 +25,7 @@ import type { ZudokuContextOptions } from "../lib/core/ZudokuContext.js";
25
25
  import { isNavigationPlugin } from "../lib/core/plugins.js";
26
26
  import { highlighter } from "../lib/shiki.js";
27
27
  import { ZuploEnv } from "./env.js";
28
+ import "./main.css";
28
29
 
29
30
  await registerShiki(highlighter);
30
31
 
@@ -35,12 +36,12 @@ export const convertZudokuConfigToOptions = (
35
36
  basePath: config.basePath,
36
37
  canonicalUrlOrigin: config.canonicalUrlOrigin,
37
38
  protectedRoutes: config.protectedRoutes,
38
- page: {
39
- ...config.page,
39
+ site: {
40
+ ...config.site,
40
41
  showPoweredBy:
41
42
  ZuploEnv.buildConfig?.entitlements.devPortalZuploBranding ??
42
- config.page?.showPoweredBy,
43
- logo: config.page?.logo,
43
+ config.site?.showPoweredBy,
44
+ logo: config.site?.logo,
44
45
  },
45
46
  slots: config.slots,
46
47
  metadata: {
@@ -48,12 +49,11 @@ export const convertZudokuConfigToOptions = (
48
49
  title: "%s - Zudoku",
49
50
  ...config.metadata,
50
51
  },
51
- sidebars: configuredSidebar,
52
- topNavigation: config.topNavigation,
52
+ navigation: configuredNavigation,
53
53
  mdx: config.mdx,
54
54
  plugins: [
55
55
  ...(configuredAuthProvider ? [configuredAuthProvider] : []),
56
- ...configuredDocsPlugins,
56
+ ...(configuredDocsPlugin ? [configuredDocsPlugin] : []),
57
57
  ...configuredApiPlugins,
58
58
  ...(configuredSearchPlugin ? [configuredSearchPlugin] : []),
59
59
  ...(configuredRedirectPlugin ? [configuredRedirectPlugin] : []),
@@ -71,7 +71,7 @@ export const convertZudokuConfigToOptions = (
71
71
 
72
72
  export const getRoutesByOptions = (
73
73
  options: ZudokuContextOptions,
74
- enableStatusPages = false,
74
+ enableStatusPages = true,
75
75
  ) => {
76
76
  const allPlugins = [
77
77
  ...(options.plugins ?? []),
@@ -84,7 +84,7 @@ export const getRoutesByOptions = (
84
84
  enableStatusPages
85
85
  ? [400, 403, 404, 405, 414, 416, 500, 501, 502, 503, 504].map(
86
86
  (statusCode) => ({
87
- path: `/.static/${statusCode}`,
87
+ path: `/${statusCode}`,
88
88
  element: <StatusPage statusCode={statusCode} />,
89
89
  }),
90
90
  )
@@ -99,6 +99,8 @@ export const getRoutesByOptions = (
99
99
  },
100
100
  ]);
101
101
 
102
+ // @TODO Detect conflicts in routes and log warning
103
+
102
104
  return routes;
103
105
  };
104
106
 
@@ -13,14 +13,14 @@ if (!root) {
13
13
  }
14
14
 
15
15
  const apiUrl = root.getAttribute("data-api-url");
16
- const pageTitle = document.getElementsByTagName("title")[0]!.innerText;
16
+ const title = document.getElementsByTagName("title")[0]!.innerText;
17
17
  const logoUrl = root.getAttribute("data-logo-url");
18
18
 
19
19
  // IMPORTANT: This component must not contain tailwind classes
20
20
  // This directory is not processed by the tailwind plugin
21
21
 
22
22
  const config = {
23
- page: {
23
+ site: {
24
24
  logo: logoUrl
25
25
  ? {
26
26
  src: {
@@ -29,12 +29,13 @@ const config = {
29
29
  },
30
30
  }
31
31
  : undefined,
32
- pageTitle,
32
+ title,
33
33
  },
34
- topNavigation: [
34
+ navigation: [
35
35
  {
36
- id: "/",
36
+ type: "link",
37
37
  label: "API Reference",
38
+ to: "/",
38
39
  },
39
40
  ],
40
41
  plugins: [
@@ -42,7 +43,7 @@ const config = {
42
43
  openApiPlugin({
43
44
  type: "url",
44
45
  input: apiUrl!,
45
- navigationId: "/",
46
+ path: "/",
46
47
  }),
47
48
  ],
48
49
  } satisfies ZudokuConfig;
@@ -14,7 +14,7 @@ describe("getIssuer", () => {
14
14
  };
15
15
 
16
16
  const result = await getIssuer(config);
17
- expect(result).toBe("tolerant-hornet-46.clerk.accounts.dev");
17
+ expect(result).toBe("https://tolerant-hornet-46.clerk.accounts.dev");
18
18
  });
19
19
 
20
20
  it("should throw error for invalid clerk public key format", async () => {
@@ -69,6 +69,22 @@ describe("getIssuer", () => {
69
69
  expect(result).toBe("https://example.com/auth");
70
70
  });
71
71
 
72
+ it("should return azureb2c issuer for azureb2c authentication", async () => {
73
+ const config: ZudokuConfig = {
74
+ authentication: {
75
+ type: "azureb2c",
76
+ tenantName: "example",
77
+ policyName: "B2C_1_SignUpSignIn",
78
+ issuer: "https://example.b2clogin.com/example.onmicrosoft.com/v2.0/",
79
+ clientId: "test-client-id",
80
+ },
81
+ };
82
+ const result = await getIssuer(config);
83
+ expect(result).toBe(
84
+ "https://example.b2clogin.com/example.onmicrosoft.com/v2.0/",
85
+ );
86
+ });
87
+
72
88
  it("should return supabase URL for supabase authentication", async () => {
73
89
  const config: ZudokuConfig = {
74
90
  authentication: {
@@ -17,7 +17,7 @@ export const getIssuer = async (config: ZudokuConfig) => {
17
17
  const frontendApi = frontendApiParts.at(0);
18
18
  invariant(frontendApi, "Clerk public key is invalid");
19
19
 
20
- return frontendApi;
20
+ return `https://${frontendApi}`;
21
21
  }
22
22
  case "auth0": {
23
23
  return `https://${config.authentication.domain}/`;
@@ -28,6 +28,9 @@ export const getIssuer = async (config: ZudokuConfig) => {
28
28
  case "supabase": {
29
29
  return config.authentication.supabaseUrl;
30
30
  }
31
+ case "azureb2c": {
32
+ return config.authentication.issuer;
33
+ }
31
34
  case undefined: {
32
35
  return undefined;
33
36
  }
@@ -34,5 +34,5 @@ export function CallbackHandler({
34
34
  },
35
35
  });
36
36
 
37
- return <Navigate to={executeCallback.data} />;
37
+ return <Navigate to={executeCallback.data} replace />;
38
38
  }
@@ -26,7 +26,7 @@ const AutocompletePopover = ({
26
26
  options,
27
27
  onChange,
28
28
  className,
29
- placeholder = "Enter value",
29
+ placeholder = "Value",
30
30
  onEnterPress,
31
31
  ref,
32
32
  }: AutocompleteProps) => {
@@ -39,6 +39,7 @@ const AutocompletePopover = ({
39
39
  <Popover open={open}>
40
40
  <PopoverAnchor>
41
41
  <CommandInlineInput
42
+ autoComplete="off"
42
43
  ref={(el) => {
43
44
  inputRef.current = el;
44
45
  if (typeof ref === "function") {
@@ -12,7 +12,7 @@ const COLOR_MAP = {
12
12
  } as const;
13
13
 
14
14
  export const Banner = () => {
15
- const { page } = useZudoku();
15
+ const { site: page } = useZudoku();
16
16
  const [isBannerOpen, setIsBannerOpen] = useState(true);
17
17
 
18
18
  if (!page?.banner || !isBannerOpen) {
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from "@tanstack/react-query";
2
2
  import { CircleFadingArrowUpIcon, LoaderCircleIcon } from "lucide-react";
3
- import { z } from "zod";
3
+ import { z } from "zod/v4";
4
4
  import { Button } from "../ui/Button.js";
5
5
 
6
6
  const BuildStatusSchema = z.object({