zudoku 0.0.0-e614aaa → 0.0.0-e6d1d34

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 (543) hide show
  1. package/README.md +1 -1
  2. package/dist/app/entry.server.d.ts +8 -6
  3. package/dist/app/entry.server.js +12 -8
  4. package/dist/app/entry.server.js.map +1 -1
  5. package/dist/app/main.js +2 -0
  6. package/dist/app/main.js.map +1 -1
  7. package/dist/app/tailwind.js +14 -0
  8. package/dist/app/tailwind.js.map +1 -1
  9. package/dist/cli/build/handler.js +2 -1
  10. package/dist/cli/build/handler.js.map +1 -1
  11. package/dist/cli/cmds/dev.d.ts +1 -1
  12. package/dist/cli/cmds/dev.js.map +1 -1
  13. package/dist/cli/dev/handler.js +2 -1
  14. package/dist/cli/dev/handler.js.map +1 -1
  15. package/dist/cli/preview/handler.js +13 -15
  16. package/dist/cli/preview/handler.js.map +1 -1
  17. package/dist/config/common.d.ts +0 -1
  18. package/dist/config/config.d.ts +13 -8
  19. package/dist/config/loader.d.ts +2 -2
  20. package/dist/config/loader.js +14 -25
  21. package/dist/config/loader.js.map +1 -1
  22. package/dist/config/validators/common.d.ts +2773 -597
  23. package/dist/config/validators/common.js +81 -4
  24. package/dist/config/validators/common.js.map +1 -1
  25. package/dist/config/validators/validate.d.ts +1013 -257
  26. package/dist/lib/authentication/authentication.d.ts +1 -0
  27. package/dist/lib/authentication/hook.d.ts +1 -0
  28. package/dist/lib/authentication/hook.js +11 -1
  29. package/dist/lib/authentication/hook.js.map +1 -1
  30. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  31. package/dist/lib/authentication/providers/clerk.js +19 -0
  32. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  33. package/dist/lib/authentication/providers/openid.d.ts +1 -0
  34. package/dist/lib/authentication/providers/openid.js +20 -8
  35. package/dist/lib/authentication/providers/openid.js.map +1 -1
  36. package/dist/lib/authentication/providers/supabase.d.ts +4 -0
  37. package/dist/lib/authentication/providers/supabase.js +117 -0
  38. package/dist/lib/authentication/providers/supabase.js.map +1 -0
  39. package/dist/lib/authentication/state.d.ts +0 -26
  40. package/dist/lib/authentication/state.js +1 -16
  41. package/dist/lib/authentication/state.js.map +1 -1
  42. package/dist/lib/components/AnchorLink.d.ts +2 -2
  43. package/dist/lib/components/AnchorLink.js +5 -4
  44. package/dist/lib/components/AnchorLink.js.map +1 -1
  45. package/dist/lib/components/Bootstrap.d.ts +2 -1
  46. package/dist/lib/components/Bootstrap.js +3 -2
  47. package/dist/lib/components/Bootstrap.js.map +1 -1
  48. package/dist/lib/components/Footer.d.ts +1 -0
  49. package/dist/lib/components/Footer.js +32 -0
  50. package/dist/lib/components/Footer.js.map +1 -0
  51. package/dist/lib/components/Header.js +4 -4
  52. package/dist/lib/components/Header.js.map +1 -1
  53. package/dist/lib/components/Heading.d.ts +1 -1
  54. package/dist/lib/components/InlineCode.d.ts +2 -1
  55. package/dist/lib/components/InlineCode.js +2 -9
  56. package/dist/lib/components/InlineCode.js.map +1 -1
  57. package/dist/lib/components/Layout.js +8 -29
  58. package/dist/lib/components/Layout.js.map +1 -1
  59. package/dist/lib/components/Main.d.ts +2 -0
  60. package/dist/lib/components/Main.js +17 -0
  61. package/dist/lib/components/Main.js.map +1 -0
  62. package/dist/lib/components/MobileTopNavigation.js +6 -3
  63. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  64. package/dist/lib/components/Pagination.d.ts +11 -0
  65. package/dist/lib/components/Pagination.js +10 -0
  66. package/dist/lib/components/Pagination.js.map +1 -0
  67. package/dist/lib/components/TopNavigation.d.ts +3 -2
  68. package/dist/lib/components/TopNavigation.js +26 -13
  69. package/dist/lib/components/TopNavigation.js.map +1 -1
  70. package/dist/lib/components/Zudoku.js +9 -3
  71. package/dist/lib/components/Zudoku.js.map +1 -1
  72. package/dist/lib/components/cache.d.ts +7 -0
  73. package/dist/lib/components/cache.js +7 -0
  74. package/dist/lib/components/cache.js.map +1 -1
  75. package/dist/lib/components/context/BypassProtectedRoutesContext.d.ts +1 -0
  76. package/dist/lib/components/context/BypassProtectedRoutesContext.js +3 -0
  77. package/dist/lib/components/context/BypassProtectedRoutesContext.js.map +1 -0
  78. package/dist/lib/components/context/ViewportAnchorContext.d.ts +2 -4
  79. package/dist/lib/components/context/ViewportAnchorContext.js +5 -10
  80. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  81. package/dist/lib/components/context/ZudokuContext.d.ts +2 -2
  82. package/dist/lib/components/context/ZudokuContext.js +13 -7
  83. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  84. package/dist/lib/components/index.d.ts +5 -2
  85. package/dist/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
  86. package/dist/lib/components/navigation/PoweredByZudoku.js +6 -0
  87. package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -0
  88. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  89. package/dist/lib/components/navigation/Sidebar.js +1 -12
  90. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  91. package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
  92. package/dist/lib/components/navigation/SidebarCategory.js +10 -6
  93. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  94. package/dist/lib/components/navigation/SidebarItem.d.ts +1 -0
  95. package/dist/lib/components/navigation/SidebarItem.js +17 -11
  96. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  97. package/dist/lib/components/navigation/SidebarWrapper.d.ts +7 -6
  98. package/dist/lib/components/navigation/SidebarWrapper.js +18 -3
  99. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  100. package/dist/lib/{plugins/markdown → components/navigation}/Toc.js +5 -7
  101. package/dist/lib/components/navigation/Toc.js.map +1 -0
  102. package/dist/lib/components/navigation/ZudokuLogo.d.ts +6 -0
  103. package/dist/lib/components/navigation/ZudokuLogo.js +5 -0
  104. package/dist/lib/components/navigation/ZudokuLogo.js.map +1 -0
  105. package/dist/lib/core/RouteGuard.d.ts +1 -0
  106. package/dist/lib/core/RouteGuard.js +10 -3
  107. package/dist/lib/core/RouteGuard.js.map +1 -1
  108. package/dist/lib/core/ZudokuContext.d.ts +23 -7
  109. package/dist/lib/core/ZudokuContext.js +12 -5
  110. package/dist/lib/core/ZudokuContext.js.map +1 -1
  111. package/dist/lib/core/plugins.d.ts +9 -7
  112. package/dist/lib/errors/ErrorAlert.js +6 -1
  113. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  114. package/dist/lib/hooks/useEvent.test.js +1 -1
  115. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  116. package/dist/lib/oas/graphql/index.d.ts +17 -4
  117. package/dist/lib/oas/graphql/index.js +148 -38
  118. package/dist/lib/oas/graphql/index.js.map +1 -1
  119. package/dist/lib/oas/parser/dereference/index.js +2 -0
  120. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  121. package/dist/lib/oas/parser/index.d.ts +5 -3
  122. package/dist/lib/oas/parser/index.js +0 -22
  123. package/dist/lib/oas/parser/index.js.map +1 -1
  124. package/dist/lib/plugins/api-catalog/Catalog.js +1 -1
  125. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  126. package/dist/lib/plugins/api-catalog/index.js +19 -17
  127. package/dist/lib/plugins/api-catalog/index.js.map +1 -1
  128. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  129. package/dist/lib/plugins/markdown/MdxPage.js +3 -9
  130. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  131. package/dist/lib/plugins/openapi/ColorizedParam.js +1 -1
  132. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  133. package/dist/lib/plugins/openapi/Endpoint.js +1 -1
  134. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  135. package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
  136. package/dist/lib/plugins/openapi/OperationList.js +63 -19
  137. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  138. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  139. package/dist/lib/plugins/openapi/OperationListItem.js +6 -12
  140. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  141. package/dist/lib/plugins/openapi/ParamInfos.d.ts +6 -0
  142. package/dist/lib/plugins/openapi/ParamInfos.js +42 -0
  143. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -0
  144. package/dist/lib/plugins/openapi/ParameterListItem.js +9 -4
  145. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  146. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -1
  147. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  148. package/dist/lib/plugins/openapi/SchemaList.d.ts +1 -0
  149. package/dist/lib/plugins/openapi/SchemaList.js +52 -0
  150. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -0
  151. package/dist/lib/plugins/openapi/Sidecar.js +38 -9
  152. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  153. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  154. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  155. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +1 -1
  156. package/dist/lib/plugins/openapi/client/GraphQLClient.js +1 -1
  157. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
  158. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +6 -2
  159. package/dist/lib/plugins/openapi/client/useCreateQuery.js +6 -5
  160. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  161. package/dist/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
  162. package/dist/lib/plugins/openapi/components/EnumValues.js +15 -0
  163. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -0
  164. package/dist/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
  165. package/dist/lib/plugins/openapi/components/SelectOnClick.js +16 -0
  166. package/dist/lib/plugins/openapi/components/SelectOnClick.js.map +1 -0
  167. package/dist/lib/plugins/openapi/graphql/gql.d.ts +9 -5
  168. package/dist/lib/plugins/openapi/graphql/gql.js +5 -4
  169. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  170. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +108 -55
  171. package/dist/lib/plugins/openapi/graphql/graphql.js +59 -34
  172. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  173. package/dist/lib/plugins/openapi/index.d.ts +6 -11
  174. package/dist/lib/plugins/openapi/index.js +41 -60
  175. package/dist/lib/plugins/openapi/index.js.map +1 -1
  176. package/dist/lib/plugins/openapi/interfaces.d.ts +36 -10
  177. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +2 -2
  178. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -5
  179. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  180. package/dist/lib/plugins/openapi/playground/Headers.js +1 -1
  181. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  182. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
  183. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +14 -0
  184. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -0
  185. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
  186. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +10 -0
  187. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -0
  188. package/dist/lib/plugins/openapi/playground/Playground.d.ts +13 -2
  189. package/dist/lib/plugins/openapi/playground/Playground.js +81 -27
  190. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  191. package/dist/lib/plugins/openapi/playground/QueryParams.js +1 -1
  192. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  193. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +7 -0
  194. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +8 -0
  195. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -0
  196. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +17 -0
  197. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js +11 -0
  198. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js.map +1 -0
  199. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +19 -13
  200. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  201. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +6 -4
  202. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +4 -3
  203. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  204. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +1 -2
  205. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +2 -2
  206. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
  207. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +2 -1
  208. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +2 -2
  209. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +1 -1
  210. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -1
  211. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +1 -1
  212. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +1 -1
  213. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
  214. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +12 -0
  215. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -0
  216. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +2 -4
  217. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +18 -13
  218. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  219. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -2
  220. package/dist/lib/plugins/openapi/schema/SchemaView.js +33 -48
  221. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  222. package/dist/lib/plugins/openapi/schema/utils.d.ts +1 -0
  223. package/dist/lib/plugins/openapi/schema/utils.js +3 -1
  224. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  225. package/dist/lib/plugins/openapi/state.d.ts +25 -0
  226. package/dist/lib/plugins/openapi/state.js +18 -0
  227. package/dist/lib/plugins/openapi/state.js.map +1 -0
  228. package/dist/lib/plugins/openapi/util/createSidebarCategory.js +5 -7
  229. package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +1 -1
  230. package/dist/lib/plugins/openapi/util/getRoutes.js +9 -3
  231. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  232. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +23 -10
  233. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  234. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -0
  235. package/dist/lib/plugins/search-pagefind/ResultList.js +19 -17
  236. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  237. package/dist/lib/plugins/search-pagefind/get-results.d.ts +8 -1
  238. package/dist/lib/plugins/search-pagefind/get-results.js +9 -4
  239. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
  240. package/dist/lib/ui/Badge.d.ts +1 -1
  241. package/dist/lib/ui/Button.d.ts +2 -2
  242. package/dist/lib/ui/Button.js +2 -1
  243. package/dist/lib/ui/Button.js.map +1 -1
  244. package/dist/lib/ui/Callout.d.ts +2 -1
  245. package/dist/lib/ui/Callout.js +3 -2
  246. package/dist/lib/ui/Callout.js.map +1 -1
  247. package/dist/lib/ui/Checkbox.d.ts +2 -8
  248. package/dist/lib/ui/Checkbox.js +1 -13
  249. package/dist/lib/ui/Checkbox.js.map +1 -1
  250. package/dist/lib/ui/Command.d.ts +1 -1
  251. package/dist/lib/ui/Select.js +1 -1
  252. package/dist/lib/ui/Select.js.map +1 -1
  253. package/dist/lib/ui/Stepper.d.ts +0 -1
  254. package/dist/lib/ui/Stepper.js +1 -1
  255. package/dist/lib/ui/Stepper.js.map +1 -1
  256. package/dist/lib/ui/SyntaxHighlight.d.ts +2 -1
  257. package/dist/lib/ui/SyntaxHighlight.js +21 -15
  258. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  259. package/dist/lib/util/MdxComponents.d.ts +3 -2
  260. package/dist/lib/util/MdxComponents.js +2 -2
  261. package/dist/lib/util/MdxComponents.js.map +1 -1
  262. package/dist/lib/util/joinPath.d.ts +3 -0
  263. package/dist/lib/util/joinPath.js +3 -0
  264. package/dist/lib/util/joinPath.js.map +1 -1
  265. package/dist/lib/util/traverse.d.ts +2 -8
  266. package/dist/lib/util/traverse.js +2 -2
  267. package/dist/lib/util/traverse.js.map +1 -1
  268. package/dist/lib/util/types.d.ts +7 -0
  269. package/dist/lib/util/types.js +2 -0
  270. package/dist/lib/util/types.js.map +1 -0
  271. package/dist/lib/util/useOnScreen.d.ts +3 -2
  272. package/dist/lib/util/useOnScreen.js +3 -3
  273. package/dist/lib/util/useOnScreen.js.map +1 -1
  274. package/dist/lib/util/useScrollToAnchor.js +20 -12
  275. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  276. package/dist/vite/api/schema-codegen.d.ts +1 -1
  277. package/dist/vite/api/schema-codegen.js +35 -12
  278. package/dist/vite/api/schema-codegen.js.map +1 -1
  279. package/dist/vite/api/schema-codegen.test.js +66 -0
  280. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  281. package/dist/vite/build.js +1 -4
  282. package/dist/vite/build.js.map +1 -1
  283. package/dist/vite/config.js +7 -9
  284. package/dist/vite/config.js.map +1 -1
  285. package/dist/vite/create-pagefind-index.d.ts +4 -0
  286. package/dist/vite/create-pagefind-index.js +12 -0
  287. package/dist/vite/create-pagefind-index.js.map +1 -0
  288. package/dist/vite/dev-server.js +4 -4
  289. package/dist/vite/dev-server.js.map +1 -1
  290. package/dist/vite/plugin-api.js +36 -29
  291. package/dist/vite/plugin-api.js.map +1 -1
  292. package/dist/vite/plugin-config-reload.js +3 -2
  293. package/dist/vite/plugin-config-reload.js.map +1 -1
  294. package/dist/vite/plugin-docs.d.ts +1 -1
  295. package/dist/vite/plugin-docs.js +18 -1
  296. package/dist/vite/plugin-docs.js.map +1 -1
  297. package/dist/vite/prerender/FileWritingResponse.d.ts +9 -5
  298. package/dist/vite/prerender/FileWritingResponse.js +5 -5
  299. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  300. package/dist/vite/prerender/InMemoryResponse.d.ts +16 -0
  301. package/dist/vite/prerender/InMemoryResponse.js +32 -0
  302. package/dist/vite/prerender/InMemoryResponse.js.map +1 -0
  303. package/dist/vite/prerender/PrerenderResponse.d.ts +10 -0
  304. package/dist/vite/prerender/PrerenderResponse.js +2 -0
  305. package/dist/vite/prerender/PrerenderResponse.js.map +1 -0
  306. package/dist/vite/prerender/prerender.d.ts +1 -0
  307. package/dist/vite/prerender/prerender.js +32 -8
  308. package/dist/vite/prerender/prerender.js.map +1 -1
  309. package/dist/vite/prerender/worker.js +41 -14
  310. package/dist/vite/prerender/worker.js.map +1 -1
  311. package/dist/zuplo/with-zuplo.js +4 -0
  312. package/dist/zuplo/with-zuplo.js.map +1 -1
  313. package/lib/{AuthenticationPlugin-CiO1FM6Q.js → AuthenticationPlugin-foqdvvkf.js} +3 -3
  314. package/lib/{AuthenticationPlugin-CiO1FM6Q.js.map → AuthenticationPlugin-foqdvvkf.js.map} +1 -1
  315. package/lib/Button-Fp19CMUr.js +49 -0
  316. package/lib/Button-Fp19CMUr.js.map +1 -0
  317. package/lib/Callout-B2vsR09t.js +229 -0
  318. package/lib/Callout-B2vsR09t.js.map +1 -0
  319. package/lib/{Dialog-DIKGQxQc.js → Dialog-sbgekbjb.js} +47 -32
  320. package/lib/{Dialog-DIKGQxQc.js.map → Dialog-sbgekbjb.js.map} +1 -1
  321. package/lib/Drawer-kDAfOq_2.js +1133 -0
  322. package/lib/Drawer-kDAfOq_2.js.map +1 -0
  323. package/lib/{Markdown-DePfm7oQ.js → Markdown-aF5FdsNi.js} +6268 -4572
  324. package/lib/Markdown-aF5FdsNi.js.map +1 -0
  325. package/lib/MdxPage-Vw_dc9Yz.js +85 -0
  326. package/lib/MdxPage-Vw_dc9Yz.js.map +1 -0
  327. package/lib/{OasProvider-BSuptFK-.js → OasProvider-C5paEivQ.js} +4 -4
  328. package/lib/{OasProvider-BSuptFK-.js.map → OasProvider-C5paEivQ.js.map} +1 -1
  329. package/lib/OperationList-Ds9Izgkn.js +5069 -0
  330. package/lib/OperationList-Ds9Izgkn.js.map +1 -0
  331. package/lib/Pagination-SdlocK96.js +48 -0
  332. package/lib/Pagination-SdlocK96.js.map +1 -0
  333. package/lib/{index.esm-CQHE3GEU.js → RouteGuard-CqZPoZYJ.js} +192 -139
  334. package/lib/RouteGuard-CqZPoZYJ.js.map +1 -0
  335. package/lib/SchemaList-NZbDXAV5.js +148 -0
  336. package/lib/SchemaList-NZbDXAV5.js.map +1 -0
  337. package/lib/SchemaView-B3fOPR4V.js +357 -0
  338. package/lib/SchemaView-B3fOPR4V.js.map +1 -0
  339. package/lib/{Select-Dqtcn53H.js → Select-DVFRKf1R.js} +9 -9
  340. package/lib/{Select-Dqtcn53H.js.map → Select-DVFRKf1R.js.map} +1 -1
  341. package/lib/SlotletProvider-DXvc0aY6.js +338 -0
  342. package/lib/SlotletProvider-DXvc0aY6.js.map +1 -0
  343. package/lib/Spinner-CE68iCm0.js +7 -0
  344. package/lib/Spinner-CE68iCm0.js.map +1 -0
  345. package/lib/SyntaxHighlight-BEoSoPEo.js +2890 -0
  346. package/lib/SyntaxHighlight-BEoSoPEo.js.map +1 -0
  347. package/lib/Toc-YBsgI72s.js +92 -0
  348. package/lib/Toc-YBsgI72s.js.map +1 -0
  349. package/lib/{chunk-IR6S3I6Y-D_3UmFIn.js → chunk-HA7DTUK3-C4gP41vD.js} +278 -278
  350. package/lib/chunk-HA7DTUK3-C4gP41vD.js.map +1 -0
  351. package/lib/{circular-v7K6lDDh.js → circular-ByJI6Mci.js} +4887 -4419
  352. package/lib/circular-ByJI6Mci.js.map +1 -0
  353. package/lib/{createServer-DmusVVsi.js → createServer-mYvGvmc0.js} +4150 -4424
  354. package/lib/createServer-mYvGvmc0.js.map +1 -0
  355. package/lib/{hook-CN__aZIt.js → hook-CqpVYDqN.js} +398 -379
  356. package/lib/hook-CqpVYDqN.js.map +1 -0
  357. package/lib/index-D48iOQvJ.js +1973 -0
  358. package/lib/index-D48iOQvJ.js.map +1 -0
  359. package/lib/index-PGJOZ6R-.js +2227 -0
  360. package/lib/index-PGJOZ6R-.js.map +1 -0
  361. package/lib/{mutation-EclmI0is.js → mutation-8LjrN7uz.js} +2 -2
  362. package/lib/{mutation-EclmI0is.js.map → mutation-8LjrN7uz.js.map} +1 -1
  363. package/lib/post-processors/traverse.js +2 -2
  364. package/lib/post-processors/traverse.js.map +1 -1
  365. package/lib/prism-bash.min-HHIMdNJ_.js.map +1 -1
  366. package/lib/prism-csharp.min-bQAo2pmx.js.map +1 -1
  367. package/lib/prism-java.min-BpvsOuIa.js.map +1 -1
  368. package/lib/prism-javascript.min-CEqHqgbm.js.map +1 -1
  369. package/lib/prism-json.min-B1GJqK1k.js.map +1 -1
  370. package/lib/prism-jsstacktrace.min-BfobCF2F.js +2 -0
  371. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +1 -0
  372. package/lib/prism-markdown.min-C0Qn0m-5.js.map +1 -1
  373. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  374. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +1 -1
  375. package/lib/prism-ruby.min-Dx9KO9ds.js.map +1 -1
  376. package/lib/prism-typescript.min-CD7H2IYQ.js.map +1 -1
  377. package/lib/ui/ActionButton.js +11 -10
  378. package/lib/ui/ActionButton.js.map +1 -1
  379. package/lib/ui/Button.js +13 -12
  380. package/lib/ui/Button.js.map +1 -1
  381. package/lib/ui/Callout.js +39 -21
  382. package/lib/ui/Callout.js.map +1 -1
  383. package/lib/ui/Checkbox.js +15 -25
  384. package/lib/ui/Checkbox.js.map +1 -1
  385. package/lib/ui/Command.js +1 -1
  386. package/lib/ui/Drawer.js +14 -1129
  387. package/lib/ui/Drawer.js.map +1 -1
  388. package/lib/ui/Select.js +1 -1
  389. package/lib/ui/Select.js.map +1 -1
  390. package/lib/ui/Stepper.js.map +1 -1
  391. package/lib/ui/SyntaxHighlight.js +8 -2902
  392. package/lib/ui/SyntaxHighlight.js.map +1 -1
  393. package/lib/{useExposedProps-RIvey2Oy.js → useExposedProps-B9qXJedG.js} +2 -2
  394. package/lib/{useExposedProps-RIvey2Oy.js.map → useExposedProps-B9qXJedG.js.map} +1 -1
  395. package/lib/useLatest-hmRS46UF.js +11 -0
  396. package/lib/useLatest-hmRS46UF.js.map +1 -0
  397. package/lib/zudoku.auth-auth0.js +1 -1
  398. package/lib/zudoku.auth-clerk.js +59 -41
  399. package/lib/zudoku.auth-clerk.js.map +1 -1
  400. package/lib/zudoku.auth-openid.js +341 -337
  401. package/lib/zudoku.auth-openid.js.map +1 -1
  402. package/lib/zudoku.components.js +32 -1395
  403. package/lib/zudoku.components.js.map +1 -1
  404. package/lib/zudoku.hooks.js +1 -1
  405. package/lib/zudoku.plugin-api-catalog.js +94 -98
  406. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  407. package/lib/zudoku.plugin-api-keys.js +4 -4
  408. package/lib/zudoku.plugin-custom-pages.js +2 -2
  409. package/lib/zudoku.plugin-markdown.js +1 -1
  410. package/lib/zudoku.plugin-openapi.js +5 -7
  411. package/lib/zudoku.plugin-openapi.js.map +1 -1
  412. package/lib/zudoku.plugin-redirect.js +1 -1
  413. package/lib/zudoku.plugin-search-pagefind.js +233 -0
  414. package/lib/zudoku.plugin-search-pagefind.js.map +1 -0
  415. package/lib/zudoku.plugins.js.map +1 -1
  416. package/package.json +32 -24
  417. package/src/app/entry.server.tsx +23 -13
  418. package/src/app/main.css +98 -57
  419. package/src/app/main.tsx +2 -0
  420. package/src/app/tailwind.ts +14 -0
  421. package/src/lib/authentication/authentication.ts +2 -0
  422. package/src/lib/authentication/hook.ts +12 -1
  423. package/src/lib/authentication/providers/clerk.tsx +22 -2
  424. package/src/lib/authentication/providers/openid.tsx +23 -10
  425. package/src/lib/authentication/providers/supabase.tsx +157 -0
  426. package/src/lib/authentication/state.ts +1 -35
  427. package/src/lib/components/AnchorLink.tsx +9 -7
  428. package/src/lib/components/Bootstrap.tsx +13 -6
  429. package/src/lib/components/Footer.tsx +136 -0
  430. package/src/lib/components/Header.tsx +11 -7
  431. package/src/lib/components/InlineCode.tsx +13 -16
  432. package/src/lib/components/Layout.tsx +22 -68
  433. package/src/lib/components/Main.tsx +50 -0
  434. package/src/lib/components/MobileTopNavigation.tsx +27 -18
  435. package/src/lib/components/Pagination.tsx +50 -0
  436. package/src/lib/components/TopNavigation.tsx +40 -17
  437. package/src/lib/components/Zudoku.tsx +12 -3
  438. package/src/lib/components/cache.ts +8 -0
  439. package/src/lib/components/context/BypassProtectedRoutesContext.ts +3 -0
  440. package/src/lib/components/context/ViewportAnchorContext.tsx +6 -15
  441. package/src/lib/components/context/ZudokuContext.ts +17 -8
  442. package/src/lib/components/navigation/PoweredByZudoku.tsx +23 -0
  443. package/src/lib/components/navigation/Sidebar.tsx +30 -44
  444. package/src/lib/components/navigation/SidebarCategory.tsx +15 -12
  445. package/src/lib/components/navigation/SidebarItem.tsx +21 -29
  446. package/src/lib/components/navigation/SidebarWrapper.tsx +42 -23
  447. package/src/lib/{plugins/markdown → components/navigation}/Toc.tsx +5 -14
  448. package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
  449. package/src/lib/core/RouteGuard.tsx +27 -4
  450. package/src/lib/core/ZudokuContext.ts +35 -15
  451. package/src/lib/core/plugins.ts +8 -8
  452. package/src/lib/errors/ErrorAlert.tsx +24 -17
  453. package/src/lib/hooks/useEvent.test.tsx +1 -1
  454. package/src/lib/oas/graphql/index.ts +202 -54
  455. package/src/lib/oas/parser/dereference/index.ts +2 -0
  456. package/src/lib/oas/parser/index.ts +7 -29
  457. package/src/lib/plugins/api-catalog/Catalog.tsx +1 -4
  458. package/src/lib/plugins/api-catalog/index.tsx +40 -35
  459. package/src/lib/plugins/markdown/MdxPage.tsx +11 -47
  460. package/src/lib/plugins/openapi/ColorizedParam.tsx +1 -1
  461. package/src/lib/plugins/openapi/Endpoint.tsx +1 -1
  462. package/src/lib/plugins/openapi/OperationList.tsx +162 -84
  463. package/src/lib/plugins/openapi/OperationListItem.tsx +116 -110
  464. package/src/lib/plugins/openapi/ParamInfos.tsx +87 -0
  465. package/src/lib/plugins/openapi/ParameterListItem.tsx +35 -23
  466. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +7 -0
  467. package/src/lib/plugins/openapi/SchemaList.tsx +151 -0
  468. package/src/lib/plugins/openapi/Sidecar.tsx +47 -11
  469. package/src/lib/plugins/openapi/SimpleSelect.tsx +1 -1
  470. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +1 -1
  471. package/src/lib/plugins/openapi/client/useCreateQuery.ts +13 -5
  472. package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
  473. package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
  474. package/src/lib/plugins/openapi/graphql/gql.ts +29 -20
  475. package/src/lib/plugins/openapi/graphql/graphql.ts +172 -86
  476. package/src/lib/plugins/openapi/index.tsx +55 -87
  477. package/src/lib/plugins/openapi/interfaces.ts +44 -15
  478. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +30 -32
  479. package/src/lib/plugins/openapi/playground/Headers.tsx +0 -1
  480. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +74 -0
  481. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +54 -0
  482. package/src/lib/plugins/openapi/playground/Playground.tsx +175 -88
  483. package/src/lib/plugins/openapi/playground/QueryParams.tsx +0 -1
  484. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +51 -0
  485. package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
  486. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +24 -4
  487. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +67 -45
  488. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -8
  489. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +3 -0
  490. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +6 -3
  491. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +36 -0
  492. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +47 -50
  493. package/src/lib/plugins/openapi/schema/SchemaView.tsx +84 -138
  494. package/src/lib/plugins/openapi/schema/utils.ts +7 -1
  495. package/src/lib/plugins/openapi/state.ts +36 -0
  496. package/src/lib/plugins/openapi/util/createSidebarCategory.tsx +5 -7
  497. package/src/lib/plugins/openapi/util/getRoutes.tsx +9 -6
  498. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +39 -14
  499. package/src/lib/plugins/search-pagefind/ResultList.tsx +60 -53
  500. package/src/lib/plugins/search-pagefind/get-results.tsx +31 -10
  501. package/src/lib/ui/Button.tsx +4 -2
  502. package/src/lib/ui/Callout.tsx +28 -10
  503. package/src/lib/ui/Checkbox.tsx +8 -24
  504. package/src/lib/ui/Select.tsx +1 -1
  505. package/src/lib/ui/Stepper.tsx +1 -1
  506. package/src/lib/ui/SyntaxHighlight.tsx +96 -96
  507. package/src/lib/util/MdxComponents.tsx +2 -2
  508. package/src/lib/util/joinPath.tsx +3 -0
  509. package/src/lib/util/traverse.ts +4 -8
  510. package/src/lib/util/types.ts +7 -0
  511. package/src/lib/util/useOnScreen.ts +6 -4
  512. package/src/lib/util/useScrollToAnchor.ts +22 -12
  513. package/dist/lib/components/context/PluginSystem.d.ts +0 -1
  514. package/dist/lib/components/context/PluginSystem.js +0 -2
  515. package/dist/lib/components/context/PluginSystem.js.map +0 -1
  516. package/dist/lib/plugins/markdown/Toc.js.map +0 -1
  517. package/dist/vite/pagefind.d.ts +0 -4
  518. package/dist/vite/pagefind.js +0 -15
  519. package/dist/vite/pagefind.js.map +0 -1
  520. package/lib/Markdown-DePfm7oQ.js.map +0 -1
  521. package/lib/MdxPage-BN6l6zXL.js +0 -201
  522. package/lib/MdxPage-BN6l6zXL.js.map +0 -1
  523. package/lib/OperationList-DOcfDmJP.js +0 -5217
  524. package/lib/OperationList-DOcfDmJP.js.map +0 -1
  525. package/lib/SlotletProvider-DdtIOUi6.js +0 -221
  526. package/lib/SlotletProvider-DdtIOUi6.js.map +0 -1
  527. package/lib/Spinner-1KrEmx1V.js +0 -51
  528. package/lib/Spinner-1KrEmx1V.js.map +0 -1
  529. package/lib/chunk-IR6S3I6Y-D_3UmFIn.js.map +0 -1
  530. package/lib/circular-v7K6lDDh.js.map +0 -1
  531. package/lib/createServer-DmusVVsi.js.map +0 -1
  532. package/lib/hook-CN__aZIt.js.map +0 -1
  533. package/lib/index-BTbP6Lgf.js +0 -2103
  534. package/lib/index-BTbP6Lgf.js.map +0 -1
  535. package/lib/index.esm-CQHE3GEU.js.map +0 -1
  536. package/lib/joinUrl-10po2Jdj.js +0 -20
  537. package/lib/joinUrl-10po2Jdj.js.map +0 -1
  538. package/lib/useScrollToAnchor-RyqO3lj4.js +0 -290
  539. package/lib/useScrollToAnchor-RyqO3lj4.js.map +0 -1
  540. package/lib/zudoku.css +0 -1
  541. package/src/lib/components/context/PluginSystem.ts +0 -0
  542. package/src/lib/ui/Stepper.css +0 -43
  543. /package/dist/lib/{plugins/markdown → components/navigation}/Toc.d.ts +0 -0
@@ -2,8 +2,8 @@ import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
2
2
  import { createContext, useContext } from "react";
3
3
  import { matchPath, useLocation } from "react-router";
4
4
  import { useAuth } from "../../authentication/hook.js";
5
- import { joinPath } from "../../util/joinPath.js";
6
- import { CACHE_KEYS } from "../cache.js";
5
+ import { joinUrl } from "../../util/joinUrl.js";
6
+ import { CACHE_KEYS, NO_DEHYDRATE } from "../cache.js";
7
7
  import { traverseSidebar } from "../navigation/utils.js";
8
8
  export const ZudokuReactContext = createContext(undefined);
9
9
  export const useZudoku = () => {
@@ -17,7 +17,7 @@ export const useApiIdentities = () => {
17
17
  const { getApiIdentities } = useZudoku();
18
18
  return useQuery({
19
19
  queryFn: getApiIdentities,
20
- queryKey: [CACHE_KEYS.API_IDENTITIES],
20
+ queryKey: CACHE_KEYS.API_IDENTITIES,
21
21
  });
22
22
  };
23
23
  export const useCurrentNavigation = () => {
@@ -25,12 +25,12 @@ export const useCurrentNavigation = () => {
25
25
  const location = useLocation();
26
26
  const auth = useAuth();
27
27
  const isProtectedRoute = options.protectedRoutes?.some((route) => matchPath(route, location.pathname));
28
- const currentSidebarItem = Object.entries(sidebars).find(([, sidebar]) => {
28
+ let currentSidebarItem = Object.entries(sidebars).find(([, sidebar]) => {
29
29
  return traverseSidebar(sidebar, (item) => {
30
30
  const itemId = item.type === "doc"
31
- ? joinPath(item.id)
31
+ ? joinUrl(item.id)
32
32
  : item.type === "category" && item.link
33
- ? joinPath(item.link.id)
33
+ ? joinUrl(item.link.id)
34
34
  : undefined;
35
35
  if (itemId === location.pathname) {
36
36
  return item;
@@ -39,9 +39,15 @@ export const useCurrentNavigation = () => {
39
39
  });
40
40
  const currentTopNavItem = topNavigation.find((t) => t.id === currentSidebarItem?.[0]) ??
41
41
  topNavigation.find((item) => matchPath(item.id, location.pathname));
42
+ if (currentTopNavItem &&
43
+ !currentSidebarItem &&
44
+ currentTopNavItem.id in sidebars) {
45
+ currentSidebarItem = ["", sidebars[currentTopNavItem.id]];
46
+ }
42
47
  const { data } = useSuspenseQuery({
43
48
  queryFn: () => getPluginSidebar(location.pathname),
44
- queryKey: ["plugin-sidebar", location.pathname],
49
+ // We just want to suspend here and don't store in SSR dehydrated state
50
+ queryKey: ["plugin-sidebar", NO_DEHYDRATE, location.pathname],
45
51
  });
46
52
  const hideSidebar = auth.isAuthEnabled && !auth.isAuthenticated && isProtectedRoute;
47
53
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,12 @@ export declare const Bootstrap: ({ router, hydrate, }: {
13
13
  hydrate?: boolean;
14
14
  router: ReturnType<typeof import("react-router").createBrowserRouter>;
15
15
  }) => import("react/jsx-runtime").JSX.Element;
16
- export declare const BootstrapStatic: ({ router, context, queryClient, helmetContext, }: {
16
+ export declare const BootstrapStatic: ({ router, context, queryClient, helmetContext, bypassProtection, }: {
17
17
  helmetContext: HelmetData;
18
18
  context: import("react-router").StaticHandlerContext;
19
19
  queryClient: import("@tanstack/react-query").QueryClient;
20
20
  router: ReturnType<typeof import("react-router").createStaticRouter>;
21
+ bypassProtection?: boolean;
21
22
  }) => import("react/jsx-runtime").JSX.Element;
22
23
  export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element;
23
24
  export declare const Head: typeof Helmet;
@@ -25,6 +26,7 @@ export declare const useZudoku: () => import("../core/ZudokuContext.js").ZudokuC
25
26
  export declare const useAuth: () => {
26
27
  login: () => Promise<void>;
27
28
  logout: () => Promise<void>;
29
+ signup: () => Promise<void>;
28
30
  isAuthenticated: boolean;
29
31
  isPending: boolean;
30
32
  profile: import("../authentication/state.js").UserProfile | null;
@@ -45,11 +47,12 @@ export declare const StatusPage: ({ statusCode, message }: {
45
47
  statusCode: number;
46
48
  message?: import("react").ReactNode;
47
49
  }) => import("react/jsx-runtime").JSX.Element;
48
- export declare const Callout: ({ type, children, title, className }: {
50
+ export declare const Callout: ({ type, children, title, className, icon, }: {
49
51
  type: "info" | "note" | "tip" | "caution" | "danger";
50
52
  title?: string;
51
53
  children: import("react").ReactNode;
52
54
  className?: string;
55
+ icon?: boolean;
53
56
  }) => import("react/jsx-runtime").JSX.Element;
54
57
  export declare const Markdown: import("react").MemoExoticComponent<({ content, className }: {
55
58
  content: string;
@@ -0,0 +1,3 @@
1
+ export declare const PoweredByZudoku: ({ className }: {
2
+ className?: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronRightIcon } from "lucide-react";
3
+ import { cn } from "../../util/cn.js";
4
+ import ZudokuLogo from "./ZudokuLogo.js";
5
+ export const PoweredByZudoku = ({ className }) => (_jsxs("a", { href: "https://zudoku.dev", target: "_blank", rel: "noopener noreferrer", className: cn("flex justify-between items-center w-full border border-transparent hover:border-border rounded-full hover:shadow-sm h-7 px-3 text-nowrap hover:bg-muted/80 transition-all", className), children: [_jsxs("div", { className: "opacity-70 hover:opacity-100 transition-opacity gap-1.5 text-[11px] font-medium rounded-full h-7 flex items-center text-nowrap", children: [_jsx(ZudokuLogo, { className: "w-3.5 h-3.5 dark:fill-white" }), "powered by Zudoku"] }), _jsx("div", { className: "text-xs font-medium opacity-70 hover:text-foreground transition-colors cursor-pointer", children: _jsx(ChevronRightIcon, { size: 12, absoluteStrokeWidth: true, strokeWidth: 1.5 }) })] }));
6
+ //# sourceMappingURL=PoweredByZudoku.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoweredByZudoku.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/PoweredByZudoku.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,SAAS,EAA0B,EAAE,EAAE,CAAC,CACxE,aACE,IAAI,EAAC,oBAAoB,EACzB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAE,EAAE,CACX,2KAA2K,EAC3K,SAAS,CACV,aAED,eAAK,SAAS,EAAC,gIAAgI,aAC7I,KAAC,UAAU,IAAC,SAAS,EAAC,6BAA6B,GAAG,yBAElD,EACN,cAAK,SAAS,EAAC,uFAAuF,YACpG,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,EAAE,mBAAmB,QAAC,WAAW,EAAE,GAAG,GAAI,GAChE,IACJ,CACL,CAAC"}
@@ -1,3 +1,5 @@
1
- export declare const Sidebar: ({ onRequestClose, }: {
1
+ import type { SidebarItem as SidebarItemType } from "../../../config/validators/SidebarSchema.js";
2
+ export declare const Sidebar: ({ onRequestClose, sidebar, }: {
2
3
  onRequestClose?: () => void;
4
+ sidebar: SidebarItemType[];
3
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,19 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useRef } from "react";
3
2
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
4
3
  import { DrawerContent, DrawerTitle } from "../../ui/Drawer.js";
5
- import { scrollIntoViewIfNeeded } from "../../util/scrollIntoViewIfNeeded.js";
6
- import { useCurrentNavigation } from "../context/ZudokuContext.js";
7
4
  import { Slotlet } from "../SlotletProvider.js";
8
5
  import { SidebarItem } from "./SidebarItem.js";
9
6
  import { SidebarWrapper } from "./SidebarWrapper.js";
10
- export const Sidebar = ({ onRequestClose, }) => {
11
- const navRef = useRef(null);
12
- const navigation = useCurrentNavigation();
13
- useEffect(() => {
14
- const active = navRef.current?.querySelector('[aria-current="page"]');
15
- scrollIntoViewIfNeeded(active ?? null);
16
- }, []);
17
- return (_jsxs(_Fragment, { children: [_jsxs(SidebarWrapper, { ref: navRef, pushMainContent: navigation.sidebar.length > 0, children: [_jsx(Slotlet, { name: "zudoku-before-navigation" }), navigation.sidebar.map((item) => (_jsx(SidebarItem, { item: item }, item.label))), _jsx(Slotlet, { name: "zudoku-after-navigation" })] }), _jsx(DrawerContent, { className: "lg:hidden h-[100dvh] left-0 w-[320px] rounded-none", "aria-describedby": undefined, children: _jsxs("div", { className: "p-4 overflow-y-auto overscroll-none", children: [_jsx(VisuallyHidden, { children: _jsx(DrawerTitle, { children: "Sidebar" }) }), navigation.sidebar.map((item) => (_jsx(SidebarItem, { item: item, onRequestClose: onRequestClose }, item.label)))] }) })] }));
18
- };
7
+ export const Sidebar = ({ onRequestClose, sidebar, }) => (_jsxs(_Fragment, { children: [_jsxs(SidebarWrapper, { children: [_jsx(Slotlet, { name: "zudoku-before-navigation" }), sidebar.map((item) => (_jsx(SidebarItem, { item: item }, item.label))), _jsx(Slotlet, { name: "zudoku-after-navigation" })] }), _jsx(DrawerContent, { className: "lg:hidden h-[100dvh] left-0 w-[320px] rounded-none", "aria-describedby": undefined, children: _jsxs("div", { className: "p-4 overflow-y-auto overscroll-none", children: [_jsx(VisuallyHidden, { children: _jsx(DrawerTitle, { children: "Sidebar" }) }), sidebar.map((item) => (_jsx(SidebarItem, { item: item, onRequestClose: onRequestClose }, item.label)))] }) })] }));
19
8
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,cAAc,GAGf,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACtE,sBAAsB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BACE,MAAC,cAAc,IACb,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,aAE9C,KAAC,OAAO,IAAC,IAAI,EAAC,0BAA0B,GAAG,EAC1C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAChC,KAAC,WAAW,IAAkB,IAAI,EAAE,IAAI,IAAtB,IAAI,CAAC,KAAK,CAAgB,CAC7C,CAAC,EACF,KAAC,OAAO,IAAC,IAAI,EAAC,yBAAyB,GAAG,IAC3B,EACjB,KAAC,aAAa,IACZ,SAAS,EAAC,oDAAoD,sBAC5C,SAAS,YAE3B,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,cAAc,cACb,KAAC,WAAW,0BAAsB,GACnB,EAChB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAChC,KAAC,WAAW,IAEV,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,IAFzB,IAAI,CAAC,KAAK,CAGf,CACH,CAAC,IACE,GACQ,IACf,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,cAAc,EACd,OAAO,GAIR,EAAE,EAAE,CAAC,CACJ,8BACE,MAAC,cAAc,eACb,KAAC,OAAO,IAAC,IAAI,EAAC,0BAA0B,GAAG,EAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrB,KAAC,WAAW,IAAkB,IAAI,EAAE,IAAI,IAAtB,IAAI,CAAC,KAAK,CAAgB,CAC7C,CAAC,EACF,KAAC,OAAO,IAAC,IAAI,EAAC,yBAAyB,GAAG,IAC3B,EACjB,KAAC,aAAa,IACZ,SAAS,EAAC,oDAAoD,sBAC5C,SAAS,YAE3B,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,cAAc,cACb,KAAC,WAAW,0BAAsB,GACnB,EAChB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrB,KAAC,WAAW,IAEV,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,IAFzB,IAAI,CAAC,KAAK,CAGf,CACH,CAAC,IACE,GACQ,IACf,CACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { SidebarItemCategory } from "../../../config/validators/SidebarSchema.js";
2
- export declare const SidebarCategory: ({ category, onRequestClose, }: {
2
+ export declare const SidebarCategory: import("react").MemoExoticComponent<({ category, onRequestClose, }: {
3
3
  category: SidebarItemCategory;
4
4
  onRequestClose?: () => void;
5
- }) => import("react/jsx-runtime").JSX.Element;
5
+ }) => import("react/jsx-runtime").JSX.Element>;
@@ -1,13 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as Collapsible from "@radix-ui/react-collapsible";
3
+ import { deepEqual } from "fast-equals";
3
4
  import { ChevronRightIcon } from "lucide-react";
4
- import { useEffect, useState } from "react";
5
+ import { memo, useEffect, useState } from "react";
5
6
  import { NavLink, useMatch } from "react-router";
7
+ import { Button } from "zudoku/ui/Button.js";
6
8
  import { cn } from "../../util/cn.js";
7
9
  import { joinPath } from "../../util/joinPath.js";
8
10
  import { navigationListItem, SidebarItem } from "./SidebarItem.js";
9
11
  import { useIsCategoryOpen } from "./utils.js";
10
- export const SidebarCategory = ({ category, onRequestClose, }) => {
12
+ const SidebarCategoryInner = ({ category, onRequestClose, }) => {
11
13
  const isCategoryOpen = useIsCategoryOpen(category);
12
14
  const [hasInteracted, setHasInteracted] = useState(false);
13
15
  const isCollapsible = category.collapsible ?? true;
@@ -22,15 +24,15 @@ export const SidebarCategory = ({ category, onRequestClose, }) => {
22
24
  setOpen(true);
23
25
  }
24
26
  }, [isCategoryOpen]);
25
- const ToggleButton = isCollapsible && (_jsx("button", { type: "button", onClick: (e) => {
27
+ const ToggleButton = isCollapsible && (_jsx(Button, { onClick: (e) => {
26
28
  e.preventDefault();
27
29
  setOpen((prev) => !prev);
28
30
  setHasInteracted(true);
29
- }, children: _jsx(ChevronRightIcon, { size: 16, className: cn(hasInteracted && "transition", "shrink-0 group-data-[state=open]:rotate-90") }) }));
31
+ }, variant: "ghost", size: "icon", className: "size-6 hover:bg-[hsl(from_hsl(var(--accent))_h_s_calc(l-5))] hover:dark:bg-[hsl(from_hsl(var(--accent))_h_s_calc(l+5))]", children: _jsx(ChevronRightIcon, { size: 16, className: cn(hasInteracted && "transition", "shrink-0 group-data-[state=open]:rotate-90") }) }));
30
32
  const icon = category.icon && (_jsx(category.icon, { size: 16, className: cn("align-[-0.125em] ", isActive && "text-primary") }));
31
33
  const styles = navigationListItem({
32
34
  className: [
33
- "text-start font-medium",
35
+ "group text-start font-medium",
34
36
  isCollapsible || typeof category.link !== "undefined"
35
37
  ? "cursor-pointer"
36
38
  : "cursor-default hover:bg-transparent",
@@ -42,10 +44,12 @@ export const SidebarCategory = ({ category, onRequestClose, }) => {
42
44
  if (isActive && !open) {
43
45
  setOpen(true);
44
46
  }
45
- }, children: [icon, _jsxs("div", { className: cn("flex items-center gap-2 justify-between w-full", isActive ? "text-primary" : "text-foreground/80"), children: [_jsx("div", { className: "truncate", children: category.label }), ToggleButton] })] })) : (_jsxs("div", { onClick: () => setHasInteracted(true), className: styles, children: [icon, _jsxs("div", { className: "flex items-center justify-between w-full", children: [_jsx("div", { className: "flex gap-2 truncate w-full", children: category.label }), ToggleButton] })] })) }), _jsx(Collapsible.Content, { className: cn(
47
+ }, children: [icon, _jsxs("div", { className: "flex items-center gap-2 justify-between w-full text-foreground/80 group-aria-[current='page']:text-primary", children: [_jsx("div", { className: "truncate", children: category.label }), ToggleButton] })] })) : (_jsxs("div", { onClick: () => setHasInteracted(true), className: styles, children: [icon, _jsxs("div", { className: "flex items-center justify-between w-full", children: [_jsx("div", { className: "flex gap-2 truncate w-full", children: category.label }), ToggleButton] })] })) }), _jsx(Collapsible.Content, { className: cn(
46
48
  // CollapsibleContent class is used to animate and it should only be applied when the user has triggered the toggle
47
49
  hasInteracted && "CollapsibleContent", category.items.length === 0 && "hidden", "ms-6 my-1"), children: _jsx("ul", { className: "relative after:absolute after:-left-[--padding-nav-item] after:translate-x-[1.5px] after:top-0 after:bottom-0 after:w-px after:bg-border", children: category.items.map((item) => (_jsx(SidebarItem, { onRequestClose: onRequestClose, item: item }, ("id" in item ? item.id : "") +
48
50
  ("href" in item ? item.href : "") +
49
51
  item.label))) }) })] }));
50
52
  };
53
+ export const SidebarCategory = memo(SidebarCategoryInner, deepEqual);
54
+ SidebarCategory.displayName = "SidebarCategory";
51
55
  //# sourceMappingURL=SidebarCategory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { SidebarItem as SidebarItemType } from "../../../config/validators/
2
2
  export declare const navigationListItem: (props?: ({
3
3
  isActive?: boolean | null | undefined;
4
4
  isMuted?: boolean | null | undefined;
5
+ isPending?: boolean | null | undefined;
5
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
7
  export declare const DATA_ANCHOR_ATTR = "data-anchor";
7
8
  export declare const SidebarItem: ({ item, onRequestClose, }: {
@@ -1,22 +1,26 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { ExternalLinkIcon } from "lucide-react";
4
- import { NavLink, useSearchParams } from "react-router";
5
- import { joinPath } from "../../util/joinPath.js";
4
+ import { NavLink, useLocation, useSearchParams } from "react-router";
5
+ import { joinUrl } from "../../util/joinUrl.js";
6
6
  import { AnchorLink } from "../AnchorLink.js";
7
7
  import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
8
8
  import { SidebarBadge } from "./SidebarBadge.js";
9
9
  import { SidebarCategory } from "./SidebarCategory.js";
10
- export const navigationListItem = cva("flex items-center gap-2 px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent", {
10
+ export const navigationListItem = cva("flex items-center gap-2 px-[--padding-nav-item] my-0.5 py-1.5 rounded-lg hover:bg-accent tabular-nums", {
11
11
  variants: {
12
12
  isActive: {
13
- true: "text-primary font-medium",
13
+ true: "bg-accent font-medium",
14
14
  false: "text-foreground/80",
15
15
  },
16
16
  isMuted: {
17
17
  true: "text-foreground/30",
18
18
  false: "",
19
19
  },
20
+ isPending: {
21
+ true: "bg-accent animate-pulse",
22
+ false: "",
23
+ },
20
24
  },
21
25
  defaultVariants: {
22
26
  isActive: false,
@@ -24,21 +28,23 @@ export const navigationListItem = cva("flex items-center gap-2 px-[--padding-nav
24
28
  });
25
29
  export const DATA_ANCHOR_ATTR = "data-anchor";
26
30
  export const SidebarItem = ({ item, onRequestClose, }) => {
31
+ const location = useLocation();
27
32
  const { activeAnchor } = useViewportAnchor();
28
33
  const [searchParams] = useSearchParams();
29
34
  switch (item.type) {
30
35
  case "category":
31
36
  return (_jsx(SidebarCategory, { category: item, onRequestClose: onRequestClose }));
32
37
  case "doc":
33
- return (_jsxs(NavLink, { className: ({ isActive }) => navigationListItem({ isActive }), to: joinPath(item.id), onClick: onRequestClose, end: true, children: [item.icon && _jsx(item.icon, { size: 16, className: "align-[-0.125em]" }), item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate flex-1", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (item.label)] }));
38
+ return (_jsxs(NavLink, { className: ({ isActive, isPending }) => navigationListItem({ isActive, isPending }), to: joinUrl(item.id), onClick: onRequestClose, end: true, children: [item.icon && _jsx(item.icon, { size: 16, className: "align-[-0.125em]" }), item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate flex-1", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (item.label)] }));
34
39
  case "link":
35
- return item.href.startsWith("#") ? (_jsx(AnchorLink, { to: { hash: item.href, search: searchParams.toString() }, [DATA_ANCHOR_ATTR]: item.href.slice(1), className: navigationListItem({
36
- isActive: item.href.slice(1) === activeAnchor,
37
- className: item.badge?.placement !== "start" && "justify-between",
38
- }), onClick: onRequestClose, children: item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (_jsx("span", { className: "break-all", children: item.label })) })) : !item.href.startsWith("http") ? (_jsx(NavLink, { className: navigationListItem({
39
- isActive: item.href.split("#")[1] === activeAnchor,
40
+ return !item.href.startsWith("http") ? (_jsx(AnchorLink, { to: {
41
+ pathname: item.href.split("#")[0],
42
+ hash: item.href.split("#")[1],
43
+ search: searchParams.toString(),
44
+ }, [DATA_ANCHOR_ATTR]: item.href.split("#")[1], className: navigationListItem({
45
+ isActive: item.href === [location.pathname, activeAnchor].join("#"),
40
46
  className: item.badge?.placement !== "start" && "justify-between",
41
- }), to: item.href, children: item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (_jsx("span", { className: "break-all", children: item.label })) })) : (_jsxs("a", { className: navigationListItem(), href: item.href, target: "_blank", rel: "noopener noreferrer", onClick: onRequestClose, children: [_jsx("span", { className: "whitespace-normal", children: item.label }), _jsx("span", { className: "whitespace-nowrap", children: _jsx(ExternalLinkIcon, { className: "inline -translate-y-0.5", size: 12 }) })] }));
47
+ }), onClick: onRequestClose, children: item.badge ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", title: item.label, children: item.label }), _jsx(SidebarBadge, { ...item.badge })] })) : (_jsx("span", { className: "break-all", children: item.label })) })) : (_jsxs("a", { className: navigationListItem(), href: item.href, target: "_blank", rel: "noopener noreferrer", onClick: onRequestClose, children: [_jsx("span", { className: "whitespace-normal", children: item.label }), _jsx("span", { className: "whitespace-nowrap", children: _jsx(ExternalLinkIcon, { className: "inline -translate-y-0.5", size: 12 }) })] }));
42
48
  }
43
49
  };
44
50
  //# sourceMappingURL=SidebarItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- export declare const SidebarWrapper: import("react").ForwardRefExoticComponent<{
2
- pushMainContent?: boolean;
3
- className?: string;
4
- } & {
5
- children?: import("react").ReactNode | undefined;
6
- } & import("react").RefAttributes<HTMLDivElement>>;
1
+ import { type PropsWithChildren } from "react";
2
+ export declare const SidebarWrapper: {
3
+ ({ children, className, }: PropsWithChildren<{
4
+ className?: string;
5
+ }>): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
@@ -1,6 +1,21 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from "react";
3
3
  import { cn } from "../../util/cn.js";
4
- export const SidebarWrapper = forwardRef(({ children, className, pushMainContent }, ref) => (_jsx("nav", { "data-navigation": String(pushMainContent), className: cn("scrollbar peer hidden lg:flex flex-col fixed text-sm overflow-y-auto shrink-0 border-r pr-6", "-mx-[--padding-nav-item] pb-20 pt-[--padding-content-top]", "w-[--side-nav-width] h-[calc(100%-var(--header-height))] scroll-pt-2 gap-2", !pushMainContent && "border-r-0", className), ref: ref, children: children })));
4
+ import { scrollIntoViewIfNeeded } from "../../util/scrollIntoViewIfNeeded.js";
5
+ import { useZudoku } from "../context/ZudokuContext.js";
6
+ import { PoweredByZudoku } from "./PoweredByZudoku.js";
7
+ export const SidebarWrapper = ({ children, className, }) => {
8
+ const { options } = useZudoku();
9
+ const navRef = useRef(null);
10
+ useEffect(() => {
11
+ const active = navRef.current?.querySelector('[aria-current="page"]');
12
+ scrollIntoViewIfNeeded(active ?? null);
13
+ }, []);
14
+ return (_jsxs("div", { className: "grid sticky top-[--header-height] lg:h-[calc(100vh-var(--header-height))] grid-rows-[1fr_min-content] border-r", children: [_jsx("nav", { ref: navRef, className: cn("hidden max-w-[calc(var(--side-nav-width)+var(--padding-nav-item))] lg:flex scrollbar flex-col overflow-y-auto shrink-0 text-sm pe-3 ps-4 lg:ps-8", "-mx-[--padding-nav-item] pb-3 pt-[--padding-content-top] scroll-pt-2 gap-1",
15
+ // Revert the padding/margin on the first child
16
+ "-mt-2.5", className), style: {
17
+ maskImage: `linear-gradient(180deg, transparent 1%, rgba(0, 0, 0, 1) 20px, rgba(0, 0, 0, 1) 90%, transparent 99%)`,
18
+ }, children: children }), _jsx("div", { className: "bg-background border-t p-2 mx-5 gap-2 items-center mt-2 drop-shadow-[0_-3px_1px_rgba(0,0,0,0.015)] hidden lg:[&:has(>_:nth-child(1):last-child)]:flex", children: options.page?.showPoweredBy !== false && _jsx(PoweredByZudoku, {}) })] }));
19
+ };
5
20
  SidebarWrapper.displayName = "SidebarWrapper";
6
21
  //# sourceMappingURL=SidebarWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarWrapper.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAGtC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACnD,iCAKmB,MAAM,CAAC,eAAe,CAAC,EACxC,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,2DAA2D,EAC3D,4EAA4E,EAC5E,CAAC,eAAe,IAAI,YAAY,EAChC,SAAS,CACV,EACD,GAAG,EAAE,GAAG,YAEP,QAAQ,GACL,CACP,CAAC,CAAC;AAEH,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"SidebarWrapper.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAA0B,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,SAAS,GAGT,EAAE,EAAE;IACJ,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACtE,sBAAsB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAC,gHAAgH,aAC7H,cACE,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,EAAE,CACX,kJAAkJ,EAClJ,4EAA4E;gBAC5E,+CAA+C;gBAC/C,SAAS,EACT,SAAS,CACV,EACD,KAAK,EAAE;oBACL,SAAS,EAAE,uGAAuG;iBACnH,YAEA,QAAQ,GACL,EAEN,cAAK,SAAS,EAAC,wJAAwJ,YACpK,OAAO,CAAC,IAAI,EAAE,aAAa,KAAK,KAAK,IAAI,KAAC,eAAe,KAAG,GACzD,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC"}
@@ -1,16 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ListTreeIcon } from "lucide-react";
3
3
  import { useEffect, useRef, useState, } from "react";
4
- import { AnchorLink } from "../../components/AnchorLink.js";
5
- import { useViewportAnchor } from "../../components/context/ViewportAnchorContext.js";
6
4
  import { cn } from "../../util/cn.js";
5
+ import { AnchorLink } from "../AnchorLink.js";
6
+ import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
7
7
  const DATA_ANCHOR_ATTR = "data-active";
8
8
  const TocItem = ({ item, children, className, isActive, }) => {
9
- return (_jsxs("li", { className: cn("truncate", isActive
10
- ? "text-primary"
11
- : "text-foreground/65 dark:text-foreground/75", className), title: item.value, children: [_jsx(AnchorLink, { to: `#${item.id}`, [DATA_ANCHOR_ATTR]: item.id, className: cn(isActive
9
+ return (_jsxs("li", { className: cn("truncate", className), title: item.value, children: [_jsx(AnchorLink, { to: `#${item.id}`, [DATA_ANCHOR_ATTR]: item.id, className: cn(isActive
12
10
  ? "text-primary"
13
- : "text-foreground/65 dark:text-foreground/75 hover:text-foreground"), children: item.value }), children] }));
11
+ : "hover:text-accent-foreground text-muted-foreground"), children: item.value }), children] }));
14
12
  };
15
13
  export const Toc = ({ entries }) => {
16
14
  const { activeAnchor } = useViewportAnchor();
@@ -42,7 +40,7 @@ export const Toc = ({ entries }) => {
42
40
  paintedOnce.current = true;
43
41
  });
44
42
  }, [activeAnchor]);
45
- return (_jsxs("aside", { className: "sticky scrollbar top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2 font-medium mb-2", children: [_jsx(ListTreeIcon, { size: 16 }), "On this page"] }), _jsxs("div", { className: "relative ms-2 ps-4", children: [_jsx("div", { className: "absolute inset-0 right-auto bg-border w-[2px]" }), _jsx("div", { className: cn("absolute -left-px -translate-y-1 h-6 w-[4px] rounded bg-primary", paintedOnce.current &&
43
+ return (_jsxs("aside", { className: "sticky scrollbar top-8 lg:top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2 font-medium mb-2", children: [_jsx(ListTreeIcon, { size: 16 }), "On this page"] }), _jsxs("div", { className: "relative ms-2 ps-4", children: [_jsx("div", { className: "absolute inset-0 right-auto bg-border w-[2px]" }), _jsx("div", { className: cn("absolute -left-px -translate-y-1 h-6 w-[4px] rounded bg-primary", paintedOnce.current &&
46
44
  "ease-out [transition:top_150ms,opacity_325ms]"), style: indicatorStyle }), _jsx("ul", { ref: listWrapperRef, className: "relative font-medium list-none space-y-2", children: entries.map((item) => (_jsx(TocItem, { isActive: item.id === activeAnchor, item: item, className: "pl-0", children: item.children && (_jsx("ul", { className: "list-none pl-4 pt-2 space-y-2", children: item.children.map((child) => (_jsx(TocItem, { item: child, isActive: child.id === activeAnchor }, child.id))) })) }, item.id))) })] })] }));
47
45
  };
48
46
  //# sourceMappingURL=Toc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toc.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Toc.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ declare const ZudokuLogo: {
3
+ (props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export default ZudokuLogo;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const ZudokuLogo = (props) => (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 132 100", fill: "none", ...props, children: [_jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M80.092 2.963A4.66 4.66 0 0 1 84.449 0h34.049c6.325 0 10.835 6.135 8.948 12.172L116.653 46.71a4.688 4.688 0 0 1-4.474 3.29H75c-5.178 0-7.813 4.687-9.375 9.374-1.288 3.864-11.07 28.963-14.467 37.662A4.66 4.66 0 0 1 46.801 100H12.75c-6.324 0-10.834-6.134-8.947-12.171l10.793-34.54A4.688 4.688 0 0 1 19.071 50H56.25c5.178 0 7.813-4.687 9.375-9.375 1.288-3.864 11.07-28.962 14.467-37.662Z", clipRule: "evenodd" }), _jsx("path", { fill: "currentColor", d: "M83.54 57.813a7.813 7.813 0 0 0-7.316 5.07L63.888 95.777c-.766 2.043.744 4.222 2.926 4.222h36.828c5.211 0 9.875-3.232 11.704-8.11l8.821-23.522c1.915-5.107-1.861-10.555-7.315-10.555H83.539ZM29.17 0a12.5 12.5 0 0 0-11.704 8.111l-8.82 23.521c-1.915 5.107 1.86 10.556 7.315 10.556h33.312a7.813 7.813 0 0 0 7.316-5.07L68.924 4.223C69.691 2.18 68.18 0 65.998 0H29.17Z" })] }));
3
+ ZudokuLogo.displayName = "ZudokuLogo";
4
+ export default ZudokuLogo;
5
+ //# sourceMappingURL=ZudokuLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZudokuLogo.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/ZudokuLogo.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,GAAG,CAAC,KAAoC,EAAE,EAAE,CAAC,CAC3D,eACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,KACP,KAAK,aAET,eACE,IAAI,EAAC,cAAc,EACnB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,kYAAkY,EACpY,QAAQ,EAAC,SAAS,GAClB,EACF,eACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,2WAA2W,GAC7W,IACE,CACP,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,eAAe,UAAU,CAAC"}
@@ -1 +1,2 @@
1
+ export declare const SEARCH_PROTECTED_SECTION = "protected";
1
2
  export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element;
@@ -1,18 +1,25 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useQuery } from "@tanstack/react-query";
3
+ import { Helmet } from "@zudoku/react-helmet-async";
4
+ import { use } from "react";
3
5
  import { matchPath, Outlet, useLocation, useNavigate } from "react-router";
4
6
  import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "zudoku/ui/Dialog.js";
5
7
  import { useAuth } from "../authentication/hook.js";
8
+ import { BypassProtectedRoutesContext } from "../components/context/BypassProtectedRoutesContext.js";
6
9
  import { useZudoku } from "../components/context/ZudokuContext.js";
7
10
  import { ZudokuError } from "../util/invariant.js";
8
11
  import { useLatest } from "../util/useLatest.js";
12
+ export const SEARCH_PROTECTED_SECTION = "protected";
9
13
  export const RouteGuard = () => {
10
14
  const auth = useAuth();
11
15
  const zudoku = useZudoku();
12
16
  const navigate = useNavigate();
13
17
  const location = useLocation();
14
18
  const latestPath = useLatest(location.pathname);
15
- const isProtected = zudoku.options.protectedRoutes?.some((path) => matchPath({ path, end: true }, location.pathname));
19
+ const shouldBypass = use(BypassProtectedRoutesContext);
20
+ const { protectedRoutes = [] } = zudoku.options;
21
+ const isProtected = !shouldBypass &&
22
+ protectedRoutes.some((path) => matchPath({ path, end: true }, location.pathname));
16
23
  useQuery({
17
24
  queryKey: ["login-redirect"],
18
25
  queryFn: async () => {
@@ -40,6 +47,6 @@ export const RouteGuard = () => {
40
47
  developerHint: "To use protectedRoutes you need authentication to be enabled",
41
48
  });
42
49
  }
43
- return _jsx(Outlet, {});
50
+ return (_jsxs(_Fragment, { children: [shouldBypass && (_jsx(Helmet, { children: _jsx("meta", { name: "pagefind", "data-pagefind-filter": `section:${SEARCH_PROTECTED_SECTION}`, content: "true" }) })), _jsx(Outlet, {})] }));
44
51
  };
45
52
  //# sourceMappingURL=RouteGuard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../../src/lib/core/RouteGuard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAClD,CAAC;IAEF,QAAQ,CAAC;QACP,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;gBAClC,UAAU,EAAE,UAAU,CAAC,OAAO;aAC/B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EACL,OAAO,MAAM,KAAK,WAAW;YAC7B,WAAW;YACX,CAAC,IAAI,CAAC,SAAS;YACf,CAAC,IAAI,CAAC,eAAe;KACxB,CAAC,CAAC;IAEH,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC,YAED,MAAC,aAAa,eACZ,KAAC,YAAY,cACX,KAAC,WAAW,oCAAgC,GAC/B,EACf,KAAC,iBAAiB,mDAEE,IACN,GACT,CACV,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,WAAW,CAAC,+BAA+B,EAAE;YACrD,KAAK,EAAE,+BAA+B;YACtC,aAAa,EACX,8DAA8D;SACjE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAC,MAAM,KAAG,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../../src/lib/core/RouteGuard.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
- import { ReactNode } from "react";
2
- import { Location } from "react-router";
3
- import { TopNavigationItem } from "../../config/validators/common.js";
1
+ import type { QueryClient } from "@tanstack/react-query";
2
+ import type { ReactNode } from "react";
3
+ import type { Location } from "react-router";
4
+ import type { z } from "zod";
5
+ import type { FooterSchema, TopNavigationItem } from "../../config/validators/common.js";
4
6
  import type { SidebarConfig } from "../../config/validators/SidebarSchema.js";
5
- import { type AuthenticationProvider } from "../authentication/authentication.js";
7
+ import type { AuthenticationProvider } from "../authentication/authentication.js";
8
+ import { type AuthState } from "../authentication/state.js";
6
9
  import type { ComponentsContextType } from "../components/context/ComponentsContext.js";
7
- import { Slotlets } from "../components/SlotletProvider.js";
10
+ import type { Slotlets } from "../components/SlotletProvider.js";
8
11
  import type { MdxComponentsType } from "../util/MdxComponents.js";
9
12
  import { type ZudokuPlugin } from "./plugins.js";
10
13
  export interface ZudokuEvents {
@@ -12,9 +15,17 @@ export interface ZudokuEvents {
12
15
  from?: Location;
13
16
  to: Location;
14
17
  }) => void;
18
+ auth: (auth: {
19
+ prev: AuthState;
20
+ next: AuthState;
21
+ }) => void;
15
22
  }
16
23
  export interface ApiIdentity {
17
24
  authorizeRequest: (request: Request) => Promise<Request> | Request;
25
+ authorizationFields?: {
26
+ headers?: string[];
27
+ queryParams?: string[];
28
+ };
18
29
  label: string;
19
30
  id: string;
20
31
  }
@@ -33,13 +44,14 @@ type Metadata = Partial<{
33
44
  publisher: string;
34
45
  }>;
35
46
  type Page = Partial<{
47
+ showPoweredBy: boolean;
36
48
  pageTitle?: string;
37
49
  logo?: {
38
50
  src: {
39
51
  light: string;
40
52
  dark: string;
41
53
  };
42
- width?: string;
54
+ width?: string | number;
43
55
  alt?: string;
44
56
  };
45
57
  banner?: {
@@ -47,8 +59,11 @@ type Page = Partial<{
47
59
  color?: "note" | "tip" | "info" | "caution" | "danger" | (string & {});
48
60
  dismissible?: boolean;
49
61
  };
62
+ footer?: z.infer<typeof FooterSchema>;
50
63
  }>;
51
64
  export type ZudokuContextOptions = {
65
+ basePath?: string;
66
+ canonicalUrlOrigin?: string;
52
67
  metadata?: Metadata;
53
68
  page?: Page;
54
69
  authentication?: AuthenticationProvider;
@@ -64,6 +79,7 @@ export type ZudokuContextOptions = {
64
79
  };
65
80
  export declare class ZudokuContext {
66
81
  readonly options: ZudokuContextOptions;
82
+ readonly queryClient: QueryClient;
67
83
  plugins: NonNullable<ZudokuContextOptions["plugins"]>;
68
84
  sidebars: SidebarConfig;
69
85
  topNavigation: NonNullable<ZudokuContextOptions["topNavigation"]>;
@@ -72,7 +88,7 @@ export declare class ZudokuContext {
72
88
  authentication?: ZudokuContextOptions["authentication"];
73
89
  private readonly navigationPlugins;
74
90
  private emitter;
75
- constructor(options: ZudokuContextOptions);
91
+ constructor(options: ZudokuContextOptions, queryClient: QueryClient);
76
92
  initialize: () => Promise<void>;
77
93
  getApiIdentities: () => Promise<ApiIdentity[]>;
78
94
  addEventListener<E extends keyof ZudokuEvents>(event: E, callback: ZudokuEvents[E]): import("nanoevents").Unsubscribe;