@lukoweb/apitogo 0.1.24 → 0.1.37

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 (477) hide show
  1. package/README.md +92 -0
  2. package/cli.js +13 -13
  3. package/client.d.ts +8 -8
  4. package/dist/cli/cli.js +1117 -624
  5. package/dist/declarations/config/config.d.ts +4 -0
  6. package/dist/declarations/config/loader.d.ts +2 -0
  7. package/dist/declarations/config/resolve-modules.d.ts +34 -0
  8. package/dist/declarations/config/validators/InputNavigationSchema.d.ts +7 -7
  9. package/dist/declarations/config/validators/ModulesSchema.d.ts +417 -0
  10. package/dist/declarations/config/validators/ZudokuConfig.d.ts +123 -4
  11. package/dist/declarations/index.d.ts +3 -1
  12. package/dist/declarations/lib/authentication/components/ProductionUnlockPage.d.ts +1 -0
  13. package/dist/declarations/lib/authentication/hook.d.ts +3 -19
  14. package/dist/declarations/lib/authentication/providers/dev-portal-constants.d.ts +16 -0
  15. package/dist/declarations/lib/authentication/providers/dev-portal-utils.d.ts +9 -0
  16. package/dist/declarations/lib/authentication/providers/dev-portal.d.ts +39 -0
  17. package/dist/declarations/lib/authentication/state.d.ts +12 -26
  18. package/dist/declarations/lib/components/LandingLayout.d.ts +4 -0
  19. package/dist/declarations/lib/components/index.d.ts +2 -0
  20. package/dist/declarations/lib/plugins/api-keys/index.d.ts +2 -1
  21. package/dist/flat-config.d.ts +209 -24
  22. package/docs/components/alert.mdx +130 -0
  23. package/docs/components/badge.mdx +70 -0
  24. package/docs/components/button.mdx +132 -0
  25. package/docs/components/callout.mdx +112 -0
  26. package/docs/components/card.mdx +104 -0
  27. package/docs/components/checkbox.mdx +72 -0
  28. package/docs/components/client-only.mdx +79 -0
  29. package/docs/components/code-tabs.mdx +179 -0
  30. package/docs/components/dialog.mdx +167 -0
  31. package/docs/components/head.mdx +200 -0
  32. package/docs/components/icons.mdx +27 -0
  33. package/docs/components/input.mdx +96 -0
  34. package/docs/components/label.mdx +86 -0
  35. package/docs/components/link.mdx +242 -0
  36. package/docs/components/markdown.mdx +151 -0
  37. package/docs/components/mermaid.mdx +81 -0
  38. package/docs/components/playground.mdx +87 -0
  39. package/docs/components/secret.mdx +79 -0
  40. package/docs/components/select.mdx +176 -0
  41. package/docs/components/shadcn.mdx +73 -0
  42. package/docs/components/slider.mdx +108 -0
  43. package/docs/components/slot.mdx +119 -0
  44. package/docs/components/stepper.mdx +138 -0
  45. package/docs/components/switch.mdx +96 -0
  46. package/docs/components/syntax-highlight.mdx +602 -0
  47. package/docs/components/textarea.mdx +78 -0
  48. package/docs/components/tooltip.mdx +195 -0
  49. package/docs/components/typography.mdx +61 -0
  50. package/docs/concepts/auth-provider-api-identities.md +109 -0
  51. package/docs/configuration/ai-assistants.md +65 -0
  52. package/docs/configuration/api-catalog.md +109 -0
  53. package/docs/configuration/api-reference.md +397 -0
  54. package/docs/configuration/authentication-auth0.md +174 -0
  55. package/docs/configuration/authentication-azure-ad.md +238 -0
  56. package/docs/configuration/authentication-clerk.md +110 -0
  57. package/docs/configuration/authentication-firebase.md +62 -0
  58. package/docs/configuration/authentication-pingfederate.md +136 -0
  59. package/docs/configuration/authentication-supabase.md +226 -0
  60. package/docs/configuration/authentication.md +231 -0
  61. package/docs/configuration/build-configuration.mdx +147 -0
  62. package/docs/configuration/docs.md +282 -0
  63. package/docs/configuration/footer.mdx +214 -0
  64. package/docs/configuration/llms.md +90 -0
  65. package/docs/configuration/make-config.mdx +90 -0
  66. package/docs/configuration/navigation.mdx +422 -0
  67. package/docs/configuration/overview.md +380 -0
  68. package/docs/configuration/protected-routes.md +150 -0
  69. package/docs/configuration/search.md +163 -0
  70. package/docs/configuration/sentry.mdx +44 -0
  71. package/docs/configuration/site.md +124 -0
  72. package/docs/configuration/slots.mdx +125 -0
  73. package/docs/configuration/vite-config.md +18 -0
  74. package/docs/custom-plugins.md +285 -0
  75. package/docs/customization/colors-theme.mdx +276 -0
  76. package/docs/customization/fonts.md +110 -0
  77. package/docs/deploy/apache-nginx.md +41 -0
  78. package/docs/deploy/apitogo.md +139 -0
  79. package/docs/deploy/cloudflare-pages.md +75 -0
  80. package/docs/deploy/direct-upload.md +18 -0
  81. package/docs/deploy/github-pages.md +50 -0
  82. package/docs/deploy/vercel.md +103 -0
  83. package/docs/deployment.md +21 -0
  84. package/docs/extending/events.md +124 -0
  85. package/docs/guides/custom-pages.md +106 -0
  86. package/docs/guides/environment-variables.md +99 -0
  87. package/docs/guides/managing-api-keys-and-identities.md +172 -0
  88. package/docs/guides/mermaid.mdx +70 -0
  89. package/docs/guides/navigation-migration.md +87 -0
  90. package/docs/guides/navigation-rules.mdx +203 -0
  91. package/docs/guides/processors.mdx +234 -0
  92. package/docs/guides/static-files.md +55 -0
  93. package/docs/guides/transforming-examples.md +156 -0
  94. package/docs/guides/using-multiple-apis.md +87 -0
  95. package/docs/markdown/admonitions.md +128 -0
  96. package/docs/markdown/code-blocks.md +196 -0
  97. package/docs/markdown/frontmatter.md +173 -0
  98. package/docs/markdown/mdx.md +68 -0
  99. package/docs/markdown/overview.md +275 -0
  100. package/docs/plugins.md +5 -0
  101. package/docs/quickstart.md +87 -0
  102. package/docs/writing.mdx +72 -0
  103. package/package.json +170 -116
  104. package/src/app/ZuploBuildConfig.ts +36 -36
  105. package/src/app/defaultTheme.css +77 -77
  106. package/src/app/demo-cdn.html +37 -37
  107. package/src/app/demo.html +21 -21
  108. package/src/app/demo.tsx +77 -77
  109. package/src/app/entry.client.tsx +118 -118
  110. package/src/app/entry.server.tsx +160 -160
  111. package/src/app/env.ts +40 -40
  112. package/src/app/font.geist.css +73 -73
  113. package/src/app/main.css +390 -390
  114. package/src/app/main.tsx +8 -1
  115. package/src/app/polyfills.ts +47 -47
  116. package/src/app/processRoutes.tsx +51 -25
  117. package/src/app/sentry.ts +24 -24
  118. package/src/app/standalone.html +23 -23
  119. package/src/app/standalone.tsx +60 -60
  120. package/src/app/utils/createRedirectRoutes.ts +11 -11
  121. package/src/config/config.ts +32 -0
  122. package/src/config/create-plugin.ts +71 -71
  123. package/src/config/file-exists.ts +6 -6
  124. package/src/config/loader.ts +11 -1
  125. package/src/config/resolve-modules.ts +260 -0
  126. package/src/config/validators/BuildSchema.ts +95 -95
  127. package/src/config/validators/HeaderNavigationSchema.ts +41 -41
  128. package/src/config/validators/InputNavigationSchema.test-d.ts +178 -178
  129. package/src/config/validators/InputNavigationSchema.ts +206 -206
  130. package/src/config/validators/ModulesSchema.ts +312 -0
  131. package/src/config/validators/ProtectedRoutesSchema.ts +35 -35
  132. package/src/config/validators/ZudokuConfig.ts +766 -729
  133. package/src/config/validators/auth.ts +3 -3
  134. package/src/config/validators/reason-codes.ts +7 -7
  135. package/src/env.d.ts +11 -11
  136. package/src/index.ts +31 -0
  137. package/src/lib/MissingIcon.tsx +22 -22
  138. package/src/lib/assets/language-icons/bun.tsx +50 -50
  139. package/src/lib/assets/language-icons/c.tsx +31 -31
  140. package/src/lib/assets/language-icons/commonlisp.tsx +22 -22
  141. package/src/lib/assets/language-icons/cpp.tsx +35 -35
  142. package/src/lib/assets/language-icons/csharp.tsx +35 -35
  143. package/src/lib/assets/language-icons/css.tsx +36 -36
  144. package/src/lib/assets/language-icons/dart.tsx +39 -39
  145. package/src/lib/assets/language-icons/elixir.tsx +19 -19
  146. package/src/lib/assets/language-icons/go.tsx +19 -19
  147. package/src/lib/assets/language-icons/graphql.tsx +19 -19
  148. package/src/lib/assets/language-icons/html.tsx +24 -24
  149. package/src/lib/assets/language-icons/java.tsx +35 -35
  150. package/src/lib/assets/language-icons/javascript.tsx +11 -11
  151. package/src/lib/assets/language-icons/json.tsx +19 -19
  152. package/src/lib/assets/language-icons/kotlin.tsx +30 -30
  153. package/src/lib/assets/language-icons/markdown.tsx +19 -19
  154. package/src/lib/assets/language-icons/mdx.tsx +23 -23
  155. package/src/lib/assets/language-icons/npm.tsx +15 -15
  156. package/src/lib/assets/language-icons/objectivec.tsx +23 -23
  157. package/src/lib/assets/language-icons/ocaml.tsx +34 -34
  158. package/src/lib/assets/language-icons/php.tsx +19 -19
  159. package/src/lib/assets/language-icons/pnpm.tsx +32 -32
  160. package/src/lib/assets/language-icons/powershell.tsx +27 -27
  161. package/src/lib/assets/language-icons/python.tsx +23 -23
  162. package/src/lib/assets/language-icons/react.tsx +21 -21
  163. package/src/lib/assets/language-icons/ruby.tsx +19 -19
  164. package/src/lib/assets/language-icons/rust.tsx +19 -19
  165. package/src/lib/assets/language-icons/scala.tsx +19 -19
  166. package/src/lib/assets/language-icons/shell.tsx +19 -19
  167. package/src/lib/assets/language-icons/swift.tsx +19 -19
  168. package/src/lib/assets/language-icons/toml.tsx +23 -23
  169. package/src/lib/assets/language-icons/typescript.tsx +23 -23
  170. package/src/lib/assets/language-icons/xml.tsx +19 -19
  171. package/src/lib/assets/language-icons/yaml.tsx +23 -23
  172. package/src/lib/assets/language-icons/yarn.tsx +17 -17
  173. package/src/lib/assets/language-icons/zig.tsx +32 -32
  174. package/src/lib/auth/issuer.ts +34 -31
  175. package/src/lib/authentication/AuthenticationPlugin.tsx +33 -33
  176. package/src/lib/authentication/authentication.ts +48 -48
  177. package/src/lib/authentication/components/OAuthErrorPage.tsx +197 -197
  178. package/src/lib/authentication/components/ProductionUnlockPage.tsx +27 -0
  179. package/src/lib/authentication/components/SignOut.tsx +15 -15
  180. package/src/lib/authentication/constants.ts +1 -1
  181. package/src/lib/authentication/errors.ts +34 -34
  182. package/src/lib/authentication/hook.ts +141 -139
  183. package/src/lib/authentication/providers/auth0.tsx +91 -91
  184. package/src/lib/authentication/providers/azureb2c.tsx +223 -223
  185. package/src/lib/authentication/providers/dev-portal-constants.ts +21 -0
  186. package/src/lib/authentication/providers/dev-portal-utils.ts +107 -0
  187. package/src/lib/authentication/providers/dev-portal.tsx +270 -0
  188. package/src/lib/authentication/providers/firebase.tsx +486 -486
  189. package/src/lib/authentication/providers/openid.tsx +516 -516
  190. package/src/lib/authentication/providers/supabase.tsx +412 -412
  191. package/src/lib/authentication/providers/util.ts +26 -26
  192. package/src/lib/authentication/state.ts +179 -91
  193. package/src/lib/authentication/ui/icons/Apple.tsx +10 -10
  194. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -15
  195. package/src/lib/authentication/ui/icons/Github.tsx +16 -16
  196. package/src/lib/authentication/ui/icons/Google.tsx +16 -16
  197. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -12
  198. package/src/lib/authentication/ui/icons/X.tsx +10 -10
  199. package/src/lib/authentication/utils/relativeRedirectUrl.ts +16 -16
  200. package/src/lib/components/AnchorLink.tsx +24 -24
  201. package/src/lib/components/Banner.tsx +52 -52
  202. package/src/lib/components/Bootstrap.tsx +77 -77
  203. package/src/lib/components/BuildCheck.tsx +87 -87
  204. package/src/lib/components/CategoryHeading.tsx +19 -19
  205. package/src/lib/components/ClientOnly.tsx +19 -19
  206. package/src/lib/components/ErrorPage.tsx +26 -26
  207. package/src/lib/components/Footer.tsx +140 -140
  208. package/src/lib/components/Framed.tsx +51 -51
  209. package/src/lib/components/Header.tsx +11 -3
  210. package/src/lib/components/HeaderNavigation.tsx +148 -148
  211. package/src/lib/components/Heading.tsx +84 -84
  212. package/src/lib/components/InlineCode.tsx +15 -15
  213. package/src/lib/components/LandingLayout.tsx +21 -0
  214. package/src/lib/components/LanguageIcon.tsx +199 -199
  215. package/src/lib/components/Markdown.tsx +55 -55
  216. package/src/lib/components/Meta.tsx +46 -46
  217. package/src/lib/components/MobileTopNavigation.tsx +11 -3
  218. package/src/lib/components/NotFoundPage.tsx +37 -37
  219. package/src/lib/components/PageProgress.tsx +28 -28
  220. package/src/lib/components/PagefindSearchMeta.tsx +14 -14
  221. package/src/lib/components/Pagination.tsx +44 -44
  222. package/src/lib/components/PathRenderer.tsx +61 -61
  223. package/src/lib/components/PluginHeads.tsx +17 -17
  224. package/src/lib/components/Search.tsx +70 -70
  225. package/src/lib/components/Slot.tsx +64 -64
  226. package/src/lib/components/Spinner.tsx +5 -5
  227. package/src/lib/components/StatusPage.tsx +96 -96
  228. package/src/lib/components/ThemeSwitch.tsx +49 -49
  229. package/src/lib/components/Typography.tsx +12 -12
  230. package/src/lib/components/Zudoku.tsx +106 -106
  231. package/src/lib/components/cache.ts +27 -27
  232. package/src/lib/components/context/RenderContext.ts +11 -11
  233. package/src/lib/components/context/RouterEventsEmitter.tsx +19 -19
  234. package/src/lib/components/context/SlotProvider.tsx +149 -149
  235. package/src/lib/components/context/ViewportAnchorContext.tsx +137 -137
  236. package/src/lib/components/context/ZudokuContext.ts +140 -140
  237. package/src/lib/components/context/ZudokuProvider.tsx +22 -22
  238. package/src/lib/components/context/ZudokuReactContext.tsx +17 -17
  239. package/src/lib/components/index.ts +2 -0
  240. package/src/lib/components/navigation/Navigation.tsx +51 -51
  241. package/src/lib/components/navigation/NavigationBadge.tsx +48 -48
  242. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -28
  243. package/src/lib/components/navigation/NavigationWrapper.tsx +49 -49
  244. package/src/lib/components/navigation/Toc.tsx +137 -137
  245. package/src/lib/components/navigation/ZudokuLogo.tsx +25 -25
  246. package/src/lib/components/navigation/ZuploLogo.tsx +14 -14
  247. package/src/lib/components/navigation/utils.ts +234 -234
  248. package/src/lib/core/RouteGuard.tsx +11 -1
  249. package/src/lib/core/ZudokuContext.ts +271 -271
  250. package/src/lib/core/plugins.ts +138 -138
  251. package/src/lib/core/react-query.ts +1 -1
  252. package/src/lib/core/router.ts +1 -1
  253. package/src/lib/core/transform-config.ts +67 -67
  254. package/src/lib/demo/DemoAnnouncement.tsx +17 -17
  255. package/src/lib/errors/ErrorAlert.tsx +28 -28
  256. package/src/lib/errors/RouterError.tsx +18 -18
  257. package/src/lib/errors/ServerError.tsx +5 -5
  258. package/src/lib/errors/TopLevelError.tsx +6 -6
  259. package/src/lib/hooks/index.ts +13 -13
  260. package/src/lib/hooks/useEvent.ts +41 -41
  261. package/src/lib/hooks/useHighlighter.ts +15 -15
  262. package/src/lib/hooks/useHotkey.ts +70 -70
  263. package/src/lib/icons.ts +2 -2
  264. package/src/lib/navigation/applyRules.ts +127 -127
  265. package/src/lib/navigation/pathMatcher.ts +81 -81
  266. package/src/lib/oas/graphql/circular.ts +69 -69
  267. package/src/lib/oas/graphql/constants.ts +2 -2
  268. package/src/lib/oas/graphql/index.ts +791 -791
  269. package/src/lib/oas/parser/dereference/index.ts +84 -84
  270. package/src/lib/oas/parser/dereference/resolveRef.ts +32 -32
  271. package/src/lib/oas/parser/index.ts +129 -129
  272. package/src/lib/oas/parser/schemas/v3.0.json +1489 -1489
  273. package/src/lib/oas/parser/schemas/v3.1.json +1298 -1298
  274. package/src/lib/oas/parser/upgrade/index.ts +174 -174
  275. package/src/lib/plugins/api-catalog/index.tsx +119 -119
  276. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +33 -33
  277. package/src/lib/plugins/api-keys/index.tsx +274 -272
  278. package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -67
  279. package/src/lib/plugins/custom-pages/index.tsx +32 -32
  280. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -11
  281. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -19
  282. package/src/lib/plugins/markdown/index.tsx +62 -62
  283. package/src/lib/plugins/openapi/ColorizedParam.tsx +115 -115
  284. package/src/lib/plugins/openapi/Endpoint.tsx +85 -85
  285. package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -273
  286. package/src/lib/plugins/openapi/OasProvider.tsx +74 -74
  287. package/src/lib/plugins/openapi/OperationList.tsx +275 -275
  288. package/src/lib/plugins/openapi/ParamInfos.tsx +96 -96
  289. package/src/lib/plugins/openapi/ParameterList.tsx +53 -53
  290. package/src/lib/plugins/openapi/ParameterListItem.tsx +161 -161
  291. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +67 -67
  292. package/src/lib/plugins/openapi/SidecarBox.tsx +57 -57
  293. package/src/lib/plugins/openapi/SimpleSelect.tsx +46 -46
  294. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +73 -73
  295. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -16
  296. package/src/lib/plugins/openapi/client/createServer.ts +35 -35
  297. package/src/lib/plugins/openapi/client/useCreateQuery.ts +44 -44
  298. package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -24
  299. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -22
  300. package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -29
  301. package/src/lib/plugins/openapi/context.tsx +16 -16
  302. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +104 -104
  303. package/src/lib/plugins/openapi/graphql/gql.ts +95 -95
  304. package/src/lib/plugins/openapi/graphql/graphql.ts +835 -835
  305. package/src/lib/plugins/openapi/graphql/index.ts +2 -2
  306. package/src/lib/plugins/openapi/index.tsx +221 -221
  307. package/src/lib/plugins/openapi/interfaces.ts +100 -100
  308. package/src/lib/plugins/openapi/playground/Headers.tsx +6 -6
  309. package/src/lib/plugins/openapi/playground/PathParams.tsx +53 -53
  310. package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -87
  311. package/src/lib/plugins/openapi/playground/createUrl.ts +25 -25
  312. package/src/lib/plugins/openapi/playground/fileUtils.ts +36 -36
  313. package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -26
  314. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -31
  315. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +29 -29
  316. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +340 -340
  317. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -117
  318. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -36
  319. package/src/lib/plugins/openapi/playground/serializeQueryParams.ts +125 -125
  320. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -23
  321. package/src/lib/plugins/openapi/processors/removeExtensions.ts +29 -29
  322. package/src/lib/plugins/openapi/processors/removeParameters.ts +103 -103
  323. package/src/lib/plugins/openapi/processors/removePaths.ts +57 -57
  324. package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
  325. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -39
  326. package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -132
  327. package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -123
  328. package/src/lib/plugins/openapi/schema/utils.ts +49 -49
  329. package/src/lib/plugins/openapi/state.ts +36 -36
  330. package/src/lib/plugins/openapi/util/buildTagCategories.ts +54 -54
  331. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +135 -135
  332. package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -39
  333. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +191 -191
  334. package/src/lib/plugins/openapi/util/getRoutes.tsx +265 -265
  335. package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -11
  336. package/src/lib/plugins/openapi/util/methodToColor.ts +27 -27
  337. package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -32
  338. package/src/lib/plugins/openapi/util/useWarmupSchema.ts +23 -23
  339. package/src/lib/plugins/search-inkeep/index.tsx +108 -108
  340. package/src/lib/plugins/search-inkeep/inkeep.ts +24 -24
  341. package/src/lib/plugins/search-pagefind/get-results.tsx +74 -74
  342. package/src/lib/plugins/search-pagefind/index.tsx +21 -21
  343. package/src/lib/plugins/search-pagefind/types.ts +118 -118
  344. package/src/lib/shiki-constants.ts +24 -24
  345. package/src/lib/testing/index.tsx +146 -146
  346. package/src/lib/ui/Accordion.tsx +55 -55
  347. package/src/lib/ui/Alert.tsx +84 -84
  348. package/src/lib/ui/AlertDialog.tsx +195 -195
  349. package/src/lib/ui/AspectRatio.tsx +5 -5
  350. package/src/lib/ui/Badge.tsx +48 -48
  351. package/src/lib/ui/Breadcrumb.tsx +115 -115
  352. package/src/lib/ui/Button.tsx +65 -65
  353. package/src/lib/ui/ButtonGroup.tsx +80 -80
  354. package/src/lib/ui/Callout.tsx +113 -113
  355. package/src/lib/ui/Card.tsx +95 -95
  356. package/src/lib/ui/Carousel.tsx +259 -259
  357. package/src/lib/ui/Checkbox.tsx +28 -28
  358. package/src/lib/ui/CodeBlock.tsx +92 -92
  359. package/src/lib/ui/CodeTabPanel.tsx +13 -13
  360. package/src/lib/ui/CodeTabs.tsx +161 -161
  361. package/src/lib/ui/Collapsible.tsx +31 -31
  362. package/src/lib/ui/Dialog.tsx +138 -138
  363. package/src/lib/ui/DismissibleAlert.tsx +74 -74
  364. package/src/lib/ui/Drawer.tsx +121 -121
  365. package/src/lib/ui/DropdownMenu.tsx +254 -254
  366. package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -99
  367. package/src/lib/ui/Form.tsx +176 -176
  368. package/src/lib/ui/Frame.tsx +81 -81
  369. package/src/lib/ui/HoverCard.tsx +26 -26
  370. package/src/lib/ui/Input.tsx +23 -23
  371. package/src/lib/ui/InputGroup.tsx +168 -168
  372. package/src/lib/ui/Item.tsx +213 -213
  373. package/src/lib/ui/Kbd.tsx +28 -28
  374. package/src/lib/ui/Label.tsx +23 -23
  375. package/src/lib/ui/NativeSelect.tsx +48 -48
  376. package/src/lib/ui/NavigationMenu.tsx +169 -169
  377. package/src/lib/ui/Pagination.tsx +115 -115
  378. package/src/lib/ui/Popover.tsx +28 -28
  379. package/src/lib/ui/Progress.tsx +25 -25
  380. package/src/lib/ui/RadioGroup.tsx +41 -41
  381. package/src/lib/ui/ReactComponentDoc.tsx +68 -68
  382. package/src/lib/ui/ScrollArea.tsx +45 -45
  383. package/src/lib/ui/Secret.tsx +133 -133
  384. package/src/lib/ui/Select.tsx +184 -184
  385. package/src/lib/ui/Separator.tsx +25 -25
  386. package/src/lib/ui/Skeleton.tsx +15 -15
  387. package/src/lib/ui/Slider.tsx +25 -25
  388. package/src/lib/ui/Stepper.tsx +8 -8
  389. package/src/lib/ui/Switch.tsx +26 -26
  390. package/src/lib/ui/SyntaxHighlight.tsx +54 -54
  391. package/src/lib/ui/Tabs.tsx +52 -52
  392. package/src/lib/ui/Textarea.tsx +22 -22
  393. package/src/lib/ui/Toggle.tsx +42 -42
  394. package/src/lib/ui/ToggleGroup.tsx +58 -58
  395. package/src/lib/ui/Tooltip.tsx +65 -65
  396. package/src/lib/ui/Value.tsx +42 -42
  397. package/src/lib/ui/util.tsx +8 -8
  398. package/src/lib/util/cn.ts +6 -6
  399. package/src/lib/util/createVariantComponent.tsx +61 -61
  400. package/src/lib/util/ensureArray.ts +3 -3
  401. package/src/lib/util/flattenAllOf.ts +72 -72
  402. package/src/lib/util/flattenAllOfProcessor.ts +74 -74
  403. package/src/lib/util/hastToJsx.tsx +67 -67
  404. package/src/lib/util/humanFileSize.ts +15 -15
  405. package/src/lib/util/invariant.ts +52 -52
  406. package/src/lib/util/joinUrl.ts +60 -60
  407. package/src/lib/util/logInit.ts +9 -9
  408. package/src/lib/util/objectEntries.ts +5 -5
  409. package/src/lib/util/os.ts +18 -18
  410. package/src/lib/util/pastellize.ts +25 -25
  411. package/src/lib/util/problemJson.ts +63 -63
  412. package/src/lib/util/readFrontmatter.ts +14 -14
  413. package/src/lib/util/renderIf.ts +4 -4
  414. package/src/lib/util/scrollIntoViewIfNeeded.ts +18 -18
  415. package/src/lib/util/slugify.ts +21 -21
  416. package/src/lib/util/syncZustandState.ts +22 -22
  417. package/src/lib/util/traverse.ts +70 -70
  418. package/src/lib/util/types.ts +7 -7
  419. package/src/lib/util/url.ts +18 -18
  420. package/src/lib/util/useCopyToClipboard.ts +17 -17
  421. package/src/lib/util/useExposedProps.tsx +27 -27
  422. package/src/lib/util/useIsomorphicLayoutEffect.ts +6 -6
  423. package/src/lib/util/useLatest.ts +18 -18
  424. package/src/lib/util/useOnScreen.ts +34 -34
  425. package/src/lib/util/useScrollToAnchor.ts +70 -70
  426. package/src/lib/util/useScrollToTop.ts +18 -18
  427. package/src/types.d.ts +57 -53
  428. package/src/vite/api/SchemaManager.ts +371 -371
  429. package/src/vite/api/schema-codegen.ts +163 -163
  430. package/src/vite/config.ts +5 -1
  431. package/src/vite/css/collect.ts +42 -42
  432. package/src/vite/css/plugin.ts +105 -105
  433. package/src/vite/debug.ts +18 -18
  434. package/src/vite/dev-portal-env.ts +93 -0
  435. package/src/vite/html.ts +54 -54
  436. package/src/vite/index.ts +2 -2
  437. package/src/vite/mdx/rehype-extract-toc-with-jsx-export.ts +19 -19
  438. package/src/vite/mdx/rehype-extract-toc-with-jsx.ts +70 -70
  439. package/src/vite/mdx/remark-code-tabs.ts +47 -47
  440. package/src/vite/mdx/remark-inject-filepath.ts +13 -13
  441. package/src/vite/mdx/remark-last-modified.ts +103 -103
  442. package/src/vite/mdx/remark-link-rewrite.ts +23 -23
  443. package/src/vite/mdx/remark-normalize-image-url.ts +15 -15
  444. package/src/vite/mdx/remark-static-generation.ts +149 -149
  445. package/src/vite/mdx/utils.ts +32 -32
  446. package/src/vite/output.ts +261 -261
  447. package/src/vite/package-root.ts +12 -12
  448. package/src/vite/pagefind-dev-index.ts +100 -100
  449. package/src/vite/plugin-api-keys.ts +6 -1
  450. package/src/vite/plugin-api.ts +4 -1
  451. package/src/vite/plugin-auth.ts +5 -1
  452. package/src/vite/plugin-component.ts +1 -1
  453. package/src/vite/plugin-config-reload.ts +49 -49
  454. package/src/vite/plugin-doc-metadata.ts +45 -45
  455. package/src/vite/plugin-docs.ts +4 -1
  456. package/src/vite/plugin-metadata.ts +30 -30
  457. package/src/vite/plugin-modules.ts +144 -0
  458. package/src/vite/plugin-shiki-register.ts +97 -97
  459. package/src/vite/plugin-theme.ts +399 -399
  460. package/src/vite/plugin.ts +2 -0
  461. package/src/vite/prerender/utils.ts +76 -76
  462. package/src/vite/prerender/worker.ts +118 -118
  463. package/src/vite/reporter.ts +34 -34
  464. package/src/vite/shadcn-registry.ts +48 -48
  465. package/src/vite/sitemap.ts +78 -78
  466. package/src/vite/ssr-templates/cloudflare.ts +19 -19
  467. package/src/vite/ssr-templates/node.ts +25 -25
  468. package/src/vite/ssr-templates/vercel.ts +22 -22
  469. package/src/vite/zuplo.ts +30 -30
  470. package/src/vite-env.d.ts +6 -6
  471. package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -168
  472. package/src/zuplo/enrich-with-zuplo.ts +256 -256
  473. package/src/zuplo/policy-types.ts +46 -46
  474. package/src/zuplo/with-zuplo-processors.ts +36 -36
  475. package/src/zuplo/with-zuplo.ts +14 -14
  476. package/LICENSE.md +0 -18
  477. package/dist/declarations/lib/components/navigation/ZudokuLogo.d.ts +0 -6
@@ -0,0 +1,108 @@
1
+ ---
2
+ title: Slider
3
+ sidebar_icon: sliders-horizontal
4
+ ---
5
+
6
+ import { Slider } from "@lukoweb/apitogo/ui/Slider";
7
+ import { Label } from "@lukoweb/apitogo/ui/Label";
8
+ import { useState } from "react";
9
+
10
+ export const SliderWithValue = () => {
11
+ const [value, setValue] = useState([75]);
12
+ return (
13
+ <div className="space-y-2">
14
+ <div className="flex justify-between">
15
+ <Label>Brightness</Label>
16
+ <span className="text-sm text-muted-foreground">{value[0]}%</span>
17
+ </div>
18
+ <Slider value={value} max={100} step={1} onValueChange={setValue} />
19
+ </div>
20
+ );
21
+ };
22
+
23
+ A slider component built on Radix UI primitives for numeric input with a range.
24
+
25
+ ## Import
26
+
27
+ ```tsx
28
+ import { Slider } from "@lukoweb/apitogo/ui/Slider";
29
+ ```
30
+
31
+ ## Basic Usage
32
+
33
+ <Slider defaultValue={[50]} max={100} step={1} />
34
+
35
+ ```tsx
36
+ <Slider defaultValue={[50]} max={100} step={1} />
37
+ ```
38
+
39
+ ## Range Slider
40
+
41
+ <Slider defaultValue={[25, 75]} max={100} step={1} />
42
+
43
+ ```tsx
44
+ <Slider defaultValue={[25, 75]} max={100} step={1} />
45
+ ```
46
+
47
+ ## With Label
48
+
49
+ <div className="space-y-2">
50
+ <Label>Volume</Label>
51
+ <Slider defaultValue={[33]} max={100} step={1} />
52
+ </div>
53
+
54
+ ```tsx
55
+ <div className="space-y-2">
56
+ <Label>Volume</Label>
57
+ <Slider defaultValue={[33]} max={100} step={1} />
58
+ </div>
59
+ ```
60
+
61
+ ## Disabled State
62
+
63
+ <Slider defaultValue={[50]} max={100} step={1} disabled />
64
+
65
+ ```tsx
66
+ <Slider defaultValue={[50]} max={100} step={1} disabled />
67
+ ```
68
+
69
+ ## Custom Step Size
70
+
71
+ <div className="space-y-2">
72
+ <Label>Price Range ($)</Label>
73
+ <Slider defaultValue={[100]} max={1000} min={0} step={50} />
74
+ </div>
75
+
76
+ ```tsx
77
+ <div className="space-y-2">
78
+ <Label>Price Range ($)</Label>
79
+ <Slider defaultValue={[100]} max={1000} min={0} step={50} />
80
+ </div>
81
+ ```
82
+
83
+ ## With Value Display
84
+
85
+ <SliderWithValue />
86
+
87
+ ```tsx {2,8,10}
88
+ const SliderWithValue = () => {
89
+ const [value, setValue] = useState([75]);
90
+
91
+ return (
92
+ <div className="space-y-2">
93
+ <div className="flex justify-between">
94
+ <Label>Brightness</Label>
95
+ <span className="text-sm text-muted-foreground">{value[0]}%</span>
96
+ </div>
97
+ <Slider value={value} max={100} step={1} onValueChange={setValue} />
98
+ </div>
99
+ );
100
+ };
101
+ ```
102
+
103
+ ## Features
104
+
105
+ - **Accessibility**: Full keyboard navigation and screen reader support
106
+ - **Multiple Thumbs**: Support for range sliders with multiple values
107
+ - **Customizable**: Easy to style with className prop
108
+ - **Touch Support**: Optimized for touch devices
@@ -0,0 +1,119 @@
1
+ ---
2
+ title: Slot
3
+ sidebar_icon: between-horizontal-start
4
+ description:
5
+ Use the low-level Slot component for advanced slot management in custom pages and MDX content.
6
+ ---
7
+
8
+ The `Slot` component provides low-level access to APIToGo's slot system, allowing you to
9
+ programmatically manage content injection in custom pages and React components.
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { Slot } from "@lukoweb/apitogo/components";
15
+ ```
16
+
17
+ ## Components
18
+
19
+ The Slot system consists of two main components:
20
+
21
+ ### Slot.Target
22
+
23
+ Renders content that has been injected into a specific slot.
24
+
25
+ ```tsx
26
+ <Slot.Target name="my-slot" fallback={<div>No content</div>} />
27
+ ```
28
+
29
+ **Props:**
30
+
31
+ - `name` (required): The slot name to render content for
32
+ - `fallback` (optional): Content to show when no slot content is available
33
+
34
+ ### Slot.Source
35
+
36
+ Injects content into a specific slot. This component renders nothing but registers content to be
37
+ displayed by `Slot.Target` components.
38
+
39
+ ```tsx
40
+ <Slot.Source name="my-slot" type="append">
41
+ <div>Content to inject</div>
42
+ </Slot.Source>
43
+ ```
44
+
45
+ **Props:**
46
+
47
+ - `name` (required): The slot name to inject content into
48
+ - `type` (optional): How to handle multiple content sources
49
+ - `"replace"` (default): Replace existing content
50
+ - `"prepend"`: Add before existing content
51
+ - `"append"`: Add after existing content
52
+ - `children`: The content to inject
53
+
54
+ ## Usage Example
55
+
56
+ ```tsx
57
+ function MyCustomPage() {
58
+ return (
59
+ <div>
60
+ <h1>My Page</h1>
61
+
62
+ {/* Render slot content here */}
63
+ <Slot.Target name="custom-page-header" />
64
+
65
+ {/* Inject content into a slot */}
66
+ <Slot.Source name="custom-page-header">
67
+ <div className="bg-blue-100 p-4 rounded">Custom header content</div>
68
+ </Slot.Source>
69
+
70
+ <p>Page content here...</p>
71
+ </div>
72
+ );
73
+ }
74
+ ```
75
+
76
+ ## Type Safety
77
+
78
+ The Slot component is fully type-safe. All predefined slot names are available with autocomplete:
79
+
80
+ ```tsx
81
+ // These will show autocomplete for available slot names
82
+ <Slot.Target name="head-navigation-end" />
83
+ <Slot.Source name="footer-before">Content</Slot.Source>
84
+ ```
85
+
86
+ ### Adding Custom Slot Names
87
+
88
+ To add your own slot names with full type safety, augment the `CustomSlotNames` type:
89
+
90
+ ```tsx
91
+ // types/slots.d.ts
92
+ declare module "@lukoweb/apitogo" {
93
+ type CustomSlotNames = "my-custom-header" | "sidebar-extra";
94
+ }
95
+ ```
96
+
97
+ ## Integration with Configuration
98
+
99
+ The Slot component works with configuration-based slots. Content defined in your
100
+ `apitogo.config.tsx` and content injected via `Slot.Source` components will be combined according to
101
+ the `type` parameter.
102
+
103
+ ```tsx
104
+ // In apitogo.config.tsx
105
+ slots: {
106
+ "page-header": <div>Config header</div>
107
+ }
108
+
109
+ // In your component
110
+ <Slot.Source name="page-header" type="append">
111
+ <Button>Go Home</Button>
112
+ </Slot.Source>
113
+
114
+ // Renders both: Config header, then Component button
115
+ <Slot.Target name="page-header" />
116
+ ```
117
+
118
+ For basic configuration usage, see the [Slots Configuration](/docs/configuration/slots)
119
+ documentation.
@@ -0,0 +1,138 @@
1
+ ---
2
+ title: Stepper
3
+ sidebar_icon: list-ordered
4
+ ---
5
+
6
+ A vertical stepper component that displays a sequence of steps with automatic numbering and visual
7
+ connections between steps. Perfect for multi-step processes, tutorials, or guided workflows.
8
+
9
+ :::note
10
+
11
+ In MDX components, the `Stepper` component is available by default and doesn't need an explicit
12
+ import.
13
+
14
+ :::
15
+
16
+ ## Import
17
+
18
+ ```tsx
19
+ import { Stepper } from "@lukoweb/apitogo/ui/Stepper";
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ Wrap Markdown lists with the `Stepper` component to create a vertical stepper like this:
25
+
26
+ <div className="flex gap-4 sm:items-center sm:flex-row flex-col">
27
+ <div className="flex-1">
28
+
29
+ <!-- prettier-ignore -->
30
+ ```tsx
31
+ <Stepper>
32
+
33
+ 1. **Identify the Problem**
34
+ 1. **Plan Your Project**
35
+ 1. **Build Your Solution**
36
+ 1. **Test and Deploy**
37
+
38
+ </Stepper>
39
+ ```
40
+
41
+ </div>
42
+ <div className="flex-1">
43
+
44
+ <Stepper>
45
+
46
+ 1. **Identify the Problem**
47
+ 1. **Plan Your Project**
48
+ 1. **Build Your Solution**
49
+ 1. **Test and Deploy**
50
+
51
+ </Stepper>
52
+ </div>
53
+ </div>
54
+
55
+ ## Advanced Example
56
+
57
+ <Stepper>
58
+
59
+ 1. **Identify the Problem**
60
+
61
+ Begin by identifying the problem you're trying to solve. This foundational step ensures you're
62
+ building the right solution for your needs.
63
+
64
+ 1. **Plan Your Project**
65
+
66
+ Define your project requirements and goals. This ensures you're building the right solution for
67
+ your needs.
68
+
69
+ :::info
70
+
71
+ Make sure you have gathered all the information you need before you start planning your project.
72
+
73
+ :::
74
+
75
+ 1. **Build Your Solution**
76
+
77
+ With a solid plan in place, start implementing your solution. Break down complex tasks into
78
+ manageable pieces and track your progress.
79
+ - Create component structure
80
+ - Implement core functionality
81
+ - Add styling and polish
82
+
83
+ 1. **Test and Deploy** 🚀
84
+
85
+ ```sh
86
+ pnpm build
87
+ pnpm test
88
+ pnpm deploy --prod
89
+ ```
90
+
91
+ </Stepper>
92
+
93
+ <details>
94
+ <summary>**See Markdown for example above 👆**</summary>
95
+
96
+ <SyntaxHighlight language="mdx" code={`
97
+ <Stepper>
98
+
99
+ 1. **Identify the Problem**
100
+
101
+ Begin by identifying the problem you're trying to solve. This foundational step ensures you're
102
+ building the right solution for your needs.
103
+
104
+ 1. **Plan Your Project**
105
+
106
+ Define your project requirements and goals. This ensures you're building the right solution for
107
+ your needs.
108
+
109
+ :::info
110
+
111
+ Make sure you have gathered all the information you need before you start planning your project.
112
+
113
+ :::
114
+
115
+ 1. **Build Your Solution**
116
+
117
+ With a solid plan in place, start implementing your solution. Break down complex tasks into
118
+ manageable pieces and track your progress.
119
+ - Create component structure
120
+ - Implement core functionality
121
+ - Add styling and polish
122
+
123
+ 1. **Test and Deploy** 🚀
124
+
125
+ <!-- prettier-ignore-start -->
126
+ \`\`\`sh
127
+
128
+ pnpm build
129
+ pnpm test
130
+ pnpm deploy --prod
131
+
132
+ \`\`\`
133
+ <!-- prettier-ignore-end -->
134
+
135
+ </Stepper>
136
+ `.trim()} />
137
+
138
+ </details>
@@ -0,0 +1,96 @@
1
+ ---
2
+ title: Switch
3
+ sidebar_icon: toggle-left
4
+ ---
5
+
6
+ import { Switch } from "@lukoweb/apitogo/ui/Switch";
7
+ import { Label } from "@lukoweb/apitogo/ui/Label";
8
+
9
+ A switch component built on Radix UI primitives for boolean toggle input.
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { Switch } from "@lukoweb/apitogo/ui/Switch";
15
+ ```
16
+
17
+ ## Basic Usage
18
+
19
+ <Switch />
20
+
21
+ ```tsx
22
+ <Switch />
23
+ ```
24
+
25
+ ## With Label
26
+
27
+ <div className="flex items-center space-x-2">
28
+ <Switch id="airplane-mode" />
29
+ <Label htmlFor="airplane-mode">Airplane Mode</Label>
30
+ </div>
31
+
32
+ ```tsx
33
+ <div className="flex items-center space-x-2">
34
+ <Switch id="airplane-mode" />
35
+ <Label htmlFor="airplane-mode">Airplane Mode</Label>
36
+ </div>
37
+ ```
38
+
39
+ ## Checked State
40
+
41
+ <div className="flex items-center space-x-2">
42
+ <Switch id="airplane-mode-2" defaultChecked />
43
+ <Label htmlFor="airplane-mode-2">Airplane Mode</Label>
44
+ </div>
45
+
46
+ ```tsx
47
+ <div className="flex items-center space-x-2">
48
+ <Switch id="airplane-mode-2" defaultChecked />
49
+ <Label htmlFor="airplane-mode-2">Airplane Mode</Label>
50
+ </div>
51
+ ```
52
+
53
+ ## Disabled State
54
+
55
+ <div className="flex items-center space-x-2">
56
+ <Switch id="airplane-mode-3" disabled />
57
+ <Label htmlFor="airplane-mode-3">Airplane Mode</Label>
58
+ </div>
59
+
60
+ ```tsx
61
+ <div className="flex items-center space-x-2">
62
+ <Switch id="airplane-mode-3" disabled />
63
+ <Label htmlFor="airplane-mode-3">Airplane Mode</Label>
64
+ </div>
65
+ ```
66
+
67
+ ## With Description
68
+
69
+ <div className="flex items-center justify-between">
70
+ <div className="space-y-0.5">
71
+ <Label htmlFor="marketing-emails">Marketing emails</Label>
72
+ <div className="text-sm text-muted-foreground">
73
+ Receive emails about new products, features, and more.
74
+ </div>
75
+ </div>
76
+ <Switch id="marketing-emails" />
77
+ </div>
78
+
79
+ ```tsx
80
+ <div className="flex items-center justify-between">
81
+ <div className="space-y-0.5">
82
+ <Label htmlFor="marketing-emails">Marketing emails</Label>
83
+ <div className="text-sm text-muted-foreground">
84
+ Receive emails about new products, features, and more.
85
+ </div>
86
+ </div>
87
+ <Switch id="marketing-emails" />
88
+ </div>
89
+ ```
90
+
91
+ ## Features
92
+
93
+ - **Accessibility**: Full keyboard navigation and screen reader support
94
+ - **Smooth Animation**: Smooth transition between states
95
+ - **Controlled/Uncontrolled**: Can be used with or without state management
96
+ - **Touch Friendly**: Optimized for touch interactions