zudoku 0.0.0-z7b86faab → 0.0.0-z8ac421f0
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.
- package/dist/app/main.js +1 -1
- package/dist/app/main.js.map +1 -1
- package/dist/config/create-plugin.d.ts +2 -0
- package/dist/config/create-plugin.js +55 -0
- package/dist/config/create-plugin.js.map +1 -0
- package/dist/config/loader.js +2 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/InputNavigationSchema.d.ts +174 -124
- package/dist/config/validators/InputNavigationSchema.js +17 -0
- package/dist/config/validators/InputNavigationSchema.js.map +1 -1
- package/dist/config/validators/NavigationSchema.d.ts +10 -2
- package/dist/config/validators/NavigationSchema.js +7 -0
- package/dist/config/validators/NavigationSchema.js.map +1 -1
- package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
- package/dist/config/validators/validate.d.ts +6 -5
- package/dist/config/validators/validate.js +2 -0
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/flat-config.d.ts +36 -24
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/components/Bootstrap.js +1 -2
- package/dist/lib/components/Bootstrap.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/MobileTopNavigation.js +2 -1
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/Slot.test.js +1 -1
- package/dist/lib/components/Slot.test.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +7 -1
- package/dist/lib/components/TopNavigation.js +7 -2
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/Zudoku.d.ts +4 -1
- package/dist/lib/components/Zudoku.js +4 -7
- package/dist/lib/components/Zudoku.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +9 -4
- package/dist/lib/components/context/ZudokuContext.js +4 -2
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/context/ZudokuProvider.js +1 -1
- package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
- package/dist/lib/components/context/ZudokuReactContext.d.ts +11 -0
- package/dist/lib/components/context/ZudokuReactContext.js +4 -0
- package/dist/lib/components/context/ZudokuReactContext.js.map +1 -0
- package/dist/lib/components/index.d.ts +18 -74
- package/dist/lib/components/index.js +19 -36
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/components/navigation/Navigation.js +4 -3
- package/dist/lib/components/navigation/Navigation.js.map +1 -1
- package/dist/lib/components/navigation/NavigationCategory.js +8 -0
- package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
- package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
- package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
- package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
- package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
- package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
- package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
- package/dist/lib/components/navigation/NavigationItem.js +11 -1
- package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
- package/dist/lib/components/navigation/utils.d.ts +2 -1
- package/dist/lib/components/navigation/utils.js +22 -1
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +2 -1
- package/dist/lib/core/ZudokuContext.js +3 -1
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/core/__internal.d.ts +1 -0
- package/dist/lib/core/__internal.js +2 -0
- package/dist/lib/core/__internal.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +5 -1
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/core/transform-config.d.ts +4 -2
- package/dist/lib/core/transform-config.js +33 -13
- package/dist/lib/core/transform-config.js.map +1 -1
- package/dist/lib/core/transform-config.test.d.ts +1 -0
- package/dist/lib/core/transform-config.test.js +83 -0
- package/dist/lib/core/transform-config.test.js.map +1 -0
- package/dist/lib/errors/ErrorAlert.js +1 -2
- package/dist/lib/errors/ErrorAlert.js.map +1 -1
- package/dist/lib/hooks/index.d.ts +7 -30
- package/dist/lib/hooks/index.js +7 -15
- package/dist/lib/hooks/index.js.map +1 -1
- package/dist/lib/hooks/useEvent.test.js +1 -1
- package/dist/lib/hooks/useEvent.test.js.map +1 -1
- package/dist/lib/oas/graphql/circular.d.ts +1 -1
- package/dist/lib/oas/graphql/circular.js +18 -35
- package/dist/lib/oas/graphql/circular.js.map +1 -1
- package/dist/lib/oas/graphql/circular.test.js +33 -2
- package/dist/lib/oas/graphql/circular.test.js.map +1 -1
- package/dist/lib/oas/parser/index.js +14 -5
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.js +8 -5
- package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
- package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
- package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +2 -2
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/ui/Alert.d.ts +3 -2
- package/dist/lib/ui/Alert.js +9 -5
- package/dist/lib/ui/Alert.js.map +1 -1
- package/dist/lib/ui/InputGroup.d.ts +16 -0
- package/dist/lib/ui/InputGroup.js +65 -0
- package/dist/lib/ui/InputGroup.js.map +1 -0
- package/dist/lib/ui/Secret.js +2 -2
- package/dist/lib/ui/Secret.js.map +1 -1
- package/dist/lib/util/flattenAllOf.d.ts +0 -2
- package/dist/lib/util/flattenAllOf.js +6 -46
- package/dist/lib/util/flattenAllOf.js.map +1 -1
- package/dist/lib/util/flattenAllOf.test.js +28 -1
- package/dist/lib/util/flattenAllOf.test.js.map +1 -1
- package/dist/lib/util/flattenAllOfProcessor.d.ts +2 -0
- package/dist/lib/util/flattenAllOfProcessor.js +48 -0
- package/dist/lib/util/flattenAllOfProcessor.js.map +1 -0
- package/dist/lib/util/readFrontmatter.js +2 -1
- package/dist/lib/util/readFrontmatter.js.map +1 -1
- package/dist/vite/api/SchemaManager.js +1 -1
- package/dist/vite/api/SchemaManager.js.map +1 -1
- package/dist/vite/api/SchemaManager.test.js +1 -1
- package/dist/vite/api/SchemaManager.test.js.map +1 -1
- package/dist/vite/build.js +91 -73
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.js +5 -2
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/mdx/remark-inject-filepath.js +5 -1
- package/dist/vite/mdx/remark-inject-filepath.js.map +1 -1
- package/dist/vite/mdx/remark-link-rewrite.js +3 -2
- package/dist/vite/mdx/remark-link-rewrite.js.map +1 -1
- package/dist/vite/plugin-config.js +16 -4
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-docs.js +9 -7
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-markdown-export.js +4 -2
- package/dist/vite/plugin-markdown-export.js.map +1 -1
- package/dist/vite/plugin-theme.js +2 -1
- package/dist/vite/plugin-theme.js.map +1 -1
- package/dist/vite/prerender/prerender.js +3 -1
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.js +3 -1
- package/dist/vite/prerender/worker.js.map +1 -1
- package/lib/{ClaudeLogo-DJ9bU-sO.js → ClaudeLogo-Br8C_vTq.js} +26 -22
- package/lib/{ClaudeLogo-DJ9bU-sO.js.map → ClaudeLogo-Br8C_vTq.js.map} +1 -1
- package/lib/Drawer-Ch7927PF.js.map +1 -1
- package/lib/{HydrationBoundary-CNF2ZV3E.js → HydrationBoundary-CJu4vUlG.js} +6 -6
- package/lib/{HydrationBoundary-CNF2ZV3E.js.map → HydrationBoundary-CJu4vUlG.js.map} +1 -1
- package/lib/{MdxPage-stpAoBtx.js → MdxPage-C0QFAsgv.js} +8 -8
- package/lib/{MdxPage-stpAoBtx.js.map → MdxPage-C0QFAsgv.js.map} +1 -1
- package/lib/Mermaid-Chx5BPHn.js +104 -0
- package/lib/Mermaid-Chx5BPHn.js.map +1 -0
- package/lib/{OAuthErrorPage-DJ811Bn_.js → OAuthErrorPage-CFz_gBFx.js} +22 -19
- package/lib/{OAuthErrorPage-DJ811Bn_.js.map → OAuthErrorPage-CFz_gBFx.js.map} +1 -1
- package/lib/{OasProvider-CS_ASmBB.js → OasProvider-BwIOIlky.js} +3 -3
- package/lib/{OasProvider-CS_ASmBB.js.map → OasProvider-BwIOIlky.js.map} +1 -1
- package/lib/OperationList-DYRzbPJu.js +5908 -0
- package/lib/OperationList-DYRzbPJu.js.map +1 -0
- package/lib/{RouteGuard--A04ESy8.js → RouteGuard-CVs3yvEs.js} +5 -5
- package/lib/{RouteGuard--A04ESy8.js.map → RouteGuard-CVs3yvEs.js.map} +1 -1
- package/lib/{SchemaList-BJZJv1gD.js → SchemaList-D4FEyoDV.js} +8 -8
- package/lib/{SchemaList-BJZJv1gD.js.map → SchemaList-D4FEyoDV.js.map} +1 -1
- package/lib/{SchemaView-U4JMYB3N.js → SchemaView-ScvkhsYE.js} +116 -110
- package/lib/SchemaView-ScvkhsYE.js.map +1 -0
- package/lib/{Secret-BDBqq4p3.js → Secret-DUpgv4V3.js} +92 -72
- package/lib/Secret-DUpgv4V3.js.map +1 -0
- package/lib/{SignUp-DCBViNUi.js → SignUp-Dug1jAGC.js} +31 -26
- package/lib/{SignUp-DCBViNUi.js.map → SignUp-Dug1jAGC.js.map} +1 -1
- package/lib/{SyntaxHighlight-Dshjn3Zf.js → SyntaxHighlight-BMu0b_hF.js} +9 -9
- package/lib/{SyntaxHighlight-Dshjn3Zf.js.map → SyntaxHighlight-BMu0b_hF.js.map} +1 -1
- package/lib/{Toc-Cgz6CPiE.js → Toc-BiJ2YL0O.js} +2 -2
- package/lib/{Toc-Cgz6CPiE.js.map → Toc-BiJ2YL0O.js.map} +1 -1
- package/lib/{index-CL8eDnQW.js → Zudoku-iyiXgWFY.js} +2996 -2859
- package/lib/Zudoku-iyiXgWFY.js.map +1 -0
- package/lib/ZudokuContext-CYyb_PB_.js +175 -0
- package/lib/ZudokuContext-CYyb_PB_.js.map +1 -0
- package/lib/ZudokuReactContext-DGJAP1sN.js +222 -0
- package/lib/ZudokuReactContext-DGJAP1sN.js.map +1 -0
- package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -1
- package/lib/{circular-BmMJjG1v.js → circular-BOpxmAie.js} +1327 -1346
- package/lib/{circular-BmMJjG1v.js.map → circular-BOpxmAie.js.map} +1 -1
- package/lib/createServer-BunbJzB5.js +13038 -0
- package/lib/createServer-BunbJzB5.js.map +1 -0
- package/lib/{errors-b9I-fAOY.js → errors-B77S9iOc.js} +3 -3
- package/lib/{errors-b9I-fAOY.js.map → errors-B77S9iOc.js.map} +1 -1
- package/lib/{firebase-BCXX7Qv5.js → firebase-C7XKRGLf.js} +26 -25
- package/lib/{firebase-BCXX7Qv5.js.map → firebase-C7XKRGLf.js.map} +1 -1
- package/lib/{hook-BGlHBdET.js → hook-Dz_n9SoE.js} +16 -15
- package/lib/{hook-BGlHBdET.js.map → hook-Dz_n9SoE.js.map} +1 -1
- package/lib/{index-UOLtazB8.js → index-BDp2MTiq.js} +2 -2
- package/lib/{index-UOLtazB8.js.map → index-BDp2MTiq.js.map} +1 -1
- package/lib/{index-O9RHI87z.js → index-Bx29qHVi.js} +589 -551
- package/lib/index-Bx29qHVi.js.map +1 -0
- package/lib/index-CrcNWbel.js.map +1 -1
- package/lib/index-DAWHN3cH.js +86 -0
- package/lib/index-DAWHN3cH.js.map +1 -0
- package/lib/index.esm-BYObtETB.js.map +1 -1
- package/lib/{index.esm-B_0dvNjB.js → index.esm-Ca5zvoff.js} +20 -20
- package/lib/{index.esm-B_0dvNjB.js.map → index.esm-Ca5zvoff.js.map} +1 -1
- package/lib/{index.esm-C5CBsVzN.js → index.esm-Cth49JBv.js} +2 -2
- package/lib/index.esm-Cth49JBv.js.map +1 -0
- package/lib/{invariant-BJAl77rw.js → invariant-B_t_F2s_.js} +3 -3
- package/lib/{invariant-BJAl77rw.js.map → invariant-B_t_F2s_.js.map} +1 -1
- package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
- package/lib/{mutation-BISOc7OM.js → mutation-B7eFBLZY.js} +2 -2
- package/lib/{mutation-BISOc7OM.js.map → mutation-B7eFBLZY.js.map} +1 -1
- package/lib/ui/Alert.js +32 -20
- package/lib/ui/Alert.js.map +1 -1
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/InputGroup.js +155 -0
- package/lib/ui/InputGroup.js.map +1 -0
- package/lib/ui/Secret.js +2 -2
- package/lib/ui/Secret.js.map +1 -1
- package/lib/ui/SyntaxHighlight.js +3 -3
- package/lib/useExposedProps-CzTDfXfq.js +30 -0
- package/lib/useExposedProps-CzTDfXfq.js.map +1 -0
- package/lib/{useMutation-CFMGlAMW.js → useMutation-CErliDZ9.js} +5 -5
- package/lib/{useMutation-CFMGlAMW.js.map → useMutation-CErliDZ9.js.map} +1 -1
- package/lib/{useSuspenseQuery-CSB_rVek.js → useQuery-ht7aWJ3S.js} +432 -446
- package/lib/useQuery-ht7aWJ3S.js.map +1 -0
- package/lib/useSuspenseQuery-DQH4Bmc2.js +18 -0
- package/lib/useSuspenseQuery-DQH4Bmc2.js.map +1 -0
- package/lib/zudoku.__internal.js +1519 -1033
- package/lib/zudoku.__internal.js.map +1 -1
- package/lib/zudoku.auth-auth0.js +6 -5
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-azureb2c.js +14 -13
- package/lib/zudoku.auth-azureb2c.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-firebase.js +5 -5
- package/lib/zudoku.auth-openid.js +8 -7
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.auth-supabase.js +4 -4
- package/lib/zudoku.components.js +31 -29
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.hooks.js +24 -11
- package/lib/zudoku.hooks.js.map +1 -1
- package/lib/zudoku.mermaid.js +5 -4
- package/lib/zudoku.mermaid.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +41 -36
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +156 -153
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-pages.js +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +2 -2
- package/lib/zudoku.plugin-search-pagefind.js +19 -18
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/lib/zudoku.plugins.js.map +1 -1
- package/lib/zudoku.react-query.js +26 -25
- package/lib/zudoku.react-query.js.map +1 -1
- package/lib/zudoku.router.js.map +1 -1
- package/package.json +17 -10
- package/src/app/defaultTheme.css +4 -0
- package/src/app/main.css +2 -0
- package/src/app/main.tsx +1 -1
- package/src/lib/components/Bootstrap.tsx +1 -4
- package/src/lib/components/MobileTopNavigation.tsx +13 -8
- package/src/lib/components/Slot.test.tsx +1 -1
- package/src/lib/components/TopNavigation.tsx +25 -7
- package/src/lib/components/Zudoku.tsx +18 -14
- package/src/lib/components/context/ZudokuContext.ts +3 -6
- package/src/lib/components/context/ZudokuProvider.tsx +1 -1
- package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
- package/src/lib/components/index.ts +19 -39
- package/src/lib/components/navigation/Navigation.tsx +4 -3
- package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
- package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
- package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
- package/src/lib/components/navigation/NavigationItem.tsx +17 -1
- package/src/lib/components/navigation/utils.ts +32 -1
- package/src/lib/core/ZudokuContext.ts +7 -1
- package/src/lib/core/__internal.tsx +2 -0
- package/src/lib/core/plugins.ts +7 -3
- package/src/lib/core/transform-config.test.tsx +99 -0
- package/src/lib/core/transform-config.ts +57 -19
- package/src/lib/errors/ErrorAlert.tsx +1 -6
- package/src/lib/hooks/index.ts +7 -16
- package/src/lib/hooks/useEvent.test.tsx +1 -1
- package/src/lib/oas/graphql/circular.test.ts +37 -2
- package/src/lib/oas/graphql/circular.ts +25 -51
- package/src/lib/oas/parser/index.ts +17 -6
- package/src/lib/plugins/openapi/ParamInfos.tsx +10 -5
- package/src/lib/plugins/openapi/ParameterListItem.tsx +1 -0
- package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
- package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +2 -0
- package/src/lib/ui/Alert.tsx +17 -5
- package/src/lib/ui/InputGroup.tsx +168 -0
- package/src/lib/ui/Secret.tsx +2 -2
- package/src/lib/util/flattenAllOf.test.ts +34 -1
- package/src/lib/util/flattenAllOf.ts +7 -57
- package/src/lib/util/flattenAllOfProcessor.ts +58 -0
- package/src/lib/util/readFrontmatter.ts +2 -1
- package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -0
- package/src/zuplo/enrich-with-zuplo.ts +254 -0
- package/src/zuplo/policy-types.ts +46 -0
- package/src/zuplo/with-zuplo-processors.ts +35 -0
- package/src/zuplo/with-zuplo.ts +14 -0
- package/lib/Mermaid-Koc3z8mU.js +0 -102
- package/lib/Mermaid-Koc3z8mU.js.map +0 -1
- package/lib/OperationList-Dq_AB4W9.js +0 -5820
- package/lib/OperationList-Dq_AB4W9.js.map +0 -1
- package/lib/SchemaView-U4JMYB3N.js.map +0 -1
- package/lib/Secret-BDBqq4p3.js.map +0 -1
- package/lib/Separator-BXt1LYnm.js +0 -27
- package/lib/Separator-BXt1LYnm.js.map +0 -1
- package/lib/ZudokuContext-BZB1TWdT.js +0 -387
- package/lib/ZudokuContext-BZB1TWdT.js.map +0 -1
- package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js +0 -9
- package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js.map +0 -1
- package/lib/createServer-CLSZ7hWJ.js +0 -16693
- package/lib/createServer-CLSZ7hWJ.js.map +0 -1
- package/lib/index-CL8eDnQW.js.map +0 -1
- package/lib/index-DBjOT2H1.js +0 -133
- package/lib/index-DBjOT2H1.js.map +0 -1
- package/lib/index-O9RHI87z.js.map +0 -1
- package/lib/index.esm-C5CBsVzN.js.map +0 -1
- package/lib/useSuspenseQuery-CSB_rVek.js.map +0 -1
|
@@ -3,6 +3,7 @@ import { cx } from "class-variance-authority";
|
|
|
3
3
|
import { deepEqual } from "fast-equals";
|
|
4
4
|
import { Suspense } from "react";
|
|
5
5
|
import { NavLink } from "react-router";
|
|
6
|
+
import { Separator } from "zudoku/ui/Separator.js";
|
|
6
7
|
import { useAuth } from "../authentication/hook.js";
|
|
7
8
|
import { joinUrl } from "../util/joinUrl.js";
|
|
8
9
|
import { useCurrentNavigation, useZudoku } from "./context/ZudokuContext.js";
|
|
@@ -16,7 +17,7 @@ export const TopNavigation = () => {
|
|
|
16
17
|
if (filteredItems.length === 0 || import.meta.env.MODE === "standalone") {
|
|
17
18
|
return _jsx("style", { children: `:root { --top-nav-height: 0px; }` });
|
|
18
19
|
}
|
|
19
|
-
return (_jsx(Suspense, { children: _jsxs("div", { className: "items-center justify-between px-8 h-(--top-nav-height) hidden lg:flex text-sm relative", children: [_jsx("nav", { className: "text-sm", children: _jsx("ul", { className: "flex flex-row items-center gap-8", children: filteredItems.map((item) => (_jsx("li", { children: _jsx(TopNavItem, { ...item }) }, item.label + item.type))) }) }), _jsx(Slot.Target, { name: "top-navigation-side" })] }) }));
|
|
20
|
+
return (_jsx(Suspense, { children: _jsxs("div", { className: "items-center justify-between px-8 h-(--top-nav-height) hidden lg:flex text-sm relative", children: [_jsx("nav", { className: "text-sm", children: _jsx("ul", { className: "flex flex-row items-center gap-8", children: filteredItems.map((item) => item.type === "separator" ? (_jsx("li", { className: "-mx-4 h-7", children: _jsx(Separator, { orientation: "vertical" }) }, item.label)) : item.type !== "section" && item.type !== "filter" ? (_jsx("li", { children: _jsx(TopNavItem, { ...item }) }, item.label + item.type)) : null) }) }), _jsx(Slot.Target, { name: "top-navigation-side" })] }) }));
|
|
20
21
|
};
|
|
21
22
|
const getPathForItem = (item) => {
|
|
22
23
|
switch (item.type) {
|
|
@@ -29,13 +30,17 @@ const getPathForItem = (item) => {
|
|
|
29
30
|
return joinUrl(item.link.path);
|
|
30
31
|
}
|
|
31
32
|
return (traverseNavigationItem(item, (child) => {
|
|
32
|
-
if (child.type !== "category"
|
|
33
|
+
if (child.type !== "category" &&
|
|
34
|
+
child.type !== "separator" &&
|
|
35
|
+
child.type !== "section") {
|
|
33
36
|
return getPathForItem(child);
|
|
34
37
|
}
|
|
35
38
|
}) ?? "");
|
|
36
39
|
}
|
|
37
40
|
case "custom-page":
|
|
38
41
|
return item.path;
|
|
42
|
+
default:
|
|
43
|
+
return "";
|
|
39
44
|
}
|
|
40
45
|
};
|
|
41
46
|
export const TopNavLink = ({ isActive, children, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { type PropsWithChildren } from "react";
|
|
1
2
|
import { type ZudokuContextOptions } from "../core/ZudokuContext.js";
|
|
2
3
|
import "../util/requestIdleCallbackPolyfill.js";
|
|
3
4
|
declare const Zudoku: {
|
|
4
|
-
(props: ZudokuContextOptions
|
|
5
|
+
(props: PropsWithChildren<ZudokuContextOptions & {
|
|
6
|
+
env: Record<string, string>;
|
|
7
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
5
8
|
displayName: string;
|
|
6
9
|
};
|
|
7
10
|
export { Zudoku };
|
|
@@ -3,13 +3,12 @@ import { MDXProvider } from "@mdx-js/react";
|
|
|
3
3
|
import { useQueryClient } from "@tanstack/react-query";
|
|
4
4
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
5
5
|
import { ThemeProvider } from "next-themes";
|
|
6
|
-
import { memo,
|
|
6
|
+
import { memo, Suspense, useEffect, useMemo, useState, } from "react";
|
|
7
7
|
import { ErrorBoundary } from "react-error-boundary";
|
|
8
8
|
import { Outlet, useLocation, useNavigation } from "react-router";
|
|
9
9
|
import { hasHead, isMdxProviderPlugin } from "../core/plugins.js";
|
|
10
10
|
import { ZudokuContext, } from "../core/ZudokuContext.js";
|
|
11
11
|
import { TopLevelError } from "../errors/TopLevelError.js";
|
|
12
|
-
import { StaggeredRenderContext } from "../plugins/openapi/StaggeredRender.js";
|
|
13
12
|
import { MdxComponents } from "../util/MdxComponents.js";
|
|
14
13
|
import "../util/requestIdleCallbackPolyfill.js";
|
|
15
14
|
import { ComponentsProvider, DEFAULT_COMPONENTS, } from "./context/ComponentsContext.js";
|
|
@@ -18,7 +17,7 @@ import { SlotProvider } from "./context/SlotProvider.js";
|
|
|
18
17
|
import { ViewportAnchorProvider } from "./context/ViewportAnchorContext.js";
|
|
19
18
|
import { ZudokuProvider } from "./context/ZudokuProvider.js";
|
|
20
19
|
let zudokuContext;
|
|
21
|
-
const ZudokuInner = memo(({ children, ...props }) => {
|
|
20
|
+
const ZudokuInner = memo(({ children, env, ...props }) => {
|
|
22
21
|
const components = useMemo(() => ({ ...DEFAULT_COMPONENTS, ...props.overrides }), [props.overrides]);
|
|
23
22
|
const location = useLocation();
|
|
24
23
|
const mdxComponents = useMemo(() => {
|
|
@@ -31,9 +30,7 @@ const ZudokuInner = memo(({ children, ...props }) => {
|
|
|
31
30
|
...props.mdx?.components,
|
|
32
31
|
};
|
|
33
32
|
}, [props.mdx?.components, props.plugins]);
|
|
34
|
-
const { stagger } = useContext(StaggeredRenderContext);
|
|
35
33
|
const [didNavigate, setDidNavigate] = useState(false);
|
|
36
|
-
const staggeredValue = useMemo(() => (didNavigate ? { stagger: true } : { stagger }), [stagger, didNavigate]);
|
|
37
34
|
const navigation = useNavigation();
|
|
38
35
|
const queryClient = useQueryClient();
|
|
39
36
|
useEffect(() => {
|
|
@@ -42,9 +39,9 @@ const ZudokuInner = memo(({ children, ...props }) => {
|
|
|
42
39
|
}
|
|
43
40
|
setDidNavigate(true);
|
|
44
41
|
}, [didNavigate, navigation.location]);
|
|
45
|
-
zudokuContext ??= new ZudokuContext(props, queryClient);
|
|
42
|
+
zudokuContext ??= new ZudokuContext(props, queryClient, env);
|
|
46
43
|
const heads = props.plugins?.flatMap((plugin) => hasHead(plugin) ? (plugin.getHead?.({ location }) ?? []) : []);
|
|
47
|
-
return (_jsxs(_Fragment, { children: [_jsx(Helmet, { children: heads }), _jsx(
|
|
44
|
+
return (_jsxs(_Fragment, { children: [_jsx(Helmet, { children: heads }), _jsx(ZudokuProvider, { context: zudokuContext, children: _jsxs(Suspense, { fallback: _jsx("div", { children: "Zudoku Loading..." }), children: [_jsx(RouterEventsEmitter, {}), _jsx(SlotProvider, { slots: props.slots ?? props.UNSAFE_slotlets, children: _jsx(MDXProvider, { components: mdxComponents, children: _jsx(ThemeProvider, { attribute: "class", disableTransitionOnChange: true, children: _jsx(ComponentsProvider, { value: components, children: _jsx(ViewportAnchorProvider, { children: children ?? _jsx(Outlet, {}) }) }) }) }) })] }) })] }));
|
|
48
45
|
});
|
|
49
46
|
ZudokuInner.displayName = "ZudokuInner";
|
|
50
47
|
const Zudoku = (props) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zudoku.js","sourceRoot":"","sources":["../../../src/lib/components/Zudoku.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,IAAI,EAEJ,
|
|
1
|
+
{"version":3,"file":"Zudoku.js","sourceRoot":"","sources":["../../../src/lib/components/Zudoku.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type { NavigationItem } from "../../../config/validators/NavigationSchema.js";
|
|
2
|
-
|
|
3
|
-
export declare const ZudokuReactContext: import("react").Context<ZudokuContext | undefined>;
|
|
4
|
-
export declare const useZudoku: () => ZudokuContext;
|
|
2
|
+
export declare const useZudoku: () => import("../../core/ZudokuContext.js").ZudokuContext;
|
|
5
3
|
export declare const useApiIdentities: () => import("@tanstack/react-query").UseQueryResult<import("../../core/ZudokuContext.js").ApiIdentity[], Error>;
|
|
6
4
|
export declare const useCurrentNavigation: () => {
|
|
7
5
|
navigation: NavigationItem[];
|
|
8
|
-
topNavItem: import("../../../config/validators/NavigationSchema.js").NavigationDoc | import("../../../config/validators/NavigationSchema.js").NavigationLink | import("../../../config/validators/NavigationSchema.js").NavigationCategory | import("../../../config/validators/NavigationSchema.js").NavigationCustomPage |
|
|
6
|
+
topNavItem: import("../../../config/validators/NavigationSchema.js").NavigationDoc | import("../../../config/validators/NavigationSchema.js").NavigationLink | import("../../../config/validators/NavigationSchema.js").NavigationCategory | import("../../../config/validators/NavigationSchema.js").NavigationCustomPage | import("../../../config/validators/NavigationSchema.js").NavigationSeparator | {
|
|
7
|
+
type: "section";
|
|
8
|
+
label: string;
|
|
9
|
+
display?: "hide" | "auth" | "anon" | "always" | ((params: {
|
|
10
|
+
context: import("../../core/ZudokuContext.js").ZudokuContext;
|
|
11
|
+
auth: import("../../authentication/hook.js").UseAuthReturn;
|
|
12
|
+
}) => boolean) | undefined;
|
|
13
|
+
} | import("../../../config/validators/NavigationSchema.js").NavigationFilter | undefined;
|
|
9
14
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
|
|
2
|
-
import {
|
|
2
|
+
import { useContext, useEffect } from "react";
|
|
3
3
|
import { matchPath, useLocation } from "react-router";
|
|
4
4
|
import { useAuthState } from "../../authentication/state.js";
|
|
5
5
|
import { joinUrl } from "../../util/joinUrl.js";
|
|
6
6
|
import { CACHE_KEYS, useCache } from "../cache.js";
|
|
7
7
|
import { traverseNavigation } from "../navigation/utils.js";
|
|
8
|
-
|
|
8
|
+
import { ZudokuReactContext } from "./ZudokuReactContext.js";
|
|
9
9
|
export const useZudoku = () => {
|
|
10
10
|
const context = useContext(ZudokuReactContext);
|
|
11
11
|
if (!context) {
|
|
@@ -60,6 +60,8 @@ export const useCurrentNavigation = () => {
|
|
|
60
60
|
const { getPluginNavigation, navigation } = useZudoku();
|
|
61
61
|
const location = useLocation();
|
|
62
62
|
const navItem = traverseNavigation(navigation, (item, parentCategories) => {
|
|
63
|
+
if (item.type === "link")
|
|
64
|
+
return;
|
|
63
65
|
if (getItemPath(item) === location.pathname) {
|
|
64
66
|
return parentCategories.at(0) ?? item;
|
|
65
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
3
3
|
import { NO_DEHYDRATE } from "../cache.js";
|
|
4
|
-
import { ZudokuReactContext } from "./
|
|
4
|
+
import { ZudokuReactContext } from "./ZudokuReactContext.js";
|
|
5
5
|
export const ZudokuProvider = ({ children, context, }) => {
|
|
6
6
|
useSuspenseQuery({
|
|
7
7
|
queryFn: async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ZudokuProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,OAAO,GACuC,EAAE,EAAE;IAClD,gBAAgB,CAAC;QACf,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC;KAC9C,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACxC,QAAQ,GACmB,CAC/B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Context } from "react";
|
|
2
|
+
import type { ZudokuContext } from "../../core/ZudokuContext.js";
|
|
3
|
+
/**
|
|
4
|
+
* During SSR, Vite's module runner can load the same module multiple times
|
|
5
|
+
* (once for the main app, once for external plugins), creating duplicate
|
|
6
|
+
* React contexts that don't share state.
|
|
7
|
+
*/
|
|
8
|
+
declare global {
|
|
9
|
+
var __ZUDOKU_CONTEXT: Context<ZudokuContext | undefined>;
|
|
10
|
+
}
|
|
11
|
+
export declare const ZudokuReactContext: Context<ZudokuContext | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZudokuReactContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuReactContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,OAAO,CAAC;AAYpD,UAAU,CAAC,gBAAgB,KAAK,aAAa,CAC3C,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,gBAAgB,CAAC"}
|
|
@@ -1,79 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
export
|
|
14
|
-
content: string;
|
|
15
|
-
className?: string;
|
|
16
|
-
components?: import("react-markdown").Components;
|
|
17
|
-
}) => import("react/jsx-runtime").JSX.Element>;
|
|
18
|
-
export declare const Spinner: ({ size }: {
|
|
19
|
-
size?: number;
|
|
20
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
export declare const ClientOnly: (props: {
|
|
22
|
-
children: import("react").ReactNode;
|
|
23
|
-
fallback?: import("react").ReactNode;
|
|
24
|
-
}) => import("react").ReactNode;
|
|
25
|
-
export declare const Button: import("react").ForwardRefExoticComponent<import("../ui/Button.js").ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
26
|
-
export declare const Link: import("react").ForwardRefExoticComponent<import("react-router").LinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
27
|
-
export declare const Zudoku: {
|
|
28
|
-
(props: import("../core/ZudokuContext.js").ZudokuContextOptions): import("react/jsx-runtime").JSX.Element;
|
|
29
|
-
displayName: string;
|
|
30
|
-
};
|
|
31
|
-
export declare const Typography: ({ children, className, }: {
|
|
32
|
-
children: React.ReactNode;
|
|
33
|
-
className?: string;
|
|
34
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
-
export declare const Slot: {
|
|
36
|
-
Source: ({ name, children, type, }: {
|
|
37
|
-
name: import("./Slot.js").SlotName;
|
|
38
|
-
type?: "prepend" | "replace" | "append";
|
|
39
|
-
children: import("./context/SlotProvider.js").SlotType;
|
|
40
|
-
}) => null;
|
|
41
|
-
Target: ({ name, fallback }: {
|
|
42
|
-
name: string;
|
|
43
|
-
fallback?: import("react").ReactNode;
|
|
44
|
-
}) => string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element[] | null | undefined;
|
|
45
|
-
};
|
|
46
|
-
export declare const ZudokuError: typeof ZudokuErrorImport;
|
|
1
|
+
export { Helmet as Head } from "@zudoku/react-helmet-async";
|
|
2
|
+
export { Link } from "react-router";
|
|
3
|
+
export { Button } from "../ui/Button.js";
|
|
4
|
+
export { Callout } from "../ui/Callout.js";
|
|
5
|
+
export { ZudokuError } from "../util/invariant.js";
|
|
6
|
+
export { ClientOnly } from "./ClientOnly.js";
|
|
7
|
+
export { Heading } from "./Heading.js";
|
|
8
|
+
export { Markdown } from "./Markdown.js";
|
|
9
|
+
export { Search } from "./Search.js";
|
|
10
|
+
export { Slot } from "./Slot.js";
|
|
11
|
+
export { Spinner } from "./Spinner.js";
|
|
12
|
+
export { Typography } from "./Typography.js";
|
|
13
|
+
export { Zudoku } from "./Zudoku.js";
|
|
47
14
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
48
|
-
export
|
|
15
|
+
export { useMDXComponents } from "@mdx-js/react";
|
|
49
16
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
50
|
-
export
|
|
17
|
+
export { useTheme } from "next-themes";
|
|
51
18
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
52
|
-
export
|
|
53
|
-
login: (options?: import("../authentication/authentication.js").AuthActionOptions) => Promise<void>;
|
|
54
|
-
logout: () => Promise<void>;
|
|
55
|
-
signup: (options?: import("../authentication/authentication.js").AuthActionOptions) => Promise<void>;
|
|
56
|
-
supportsEmailVerification: boolean;
|
|
57
|
-
requestEmailVerification: (options?: import("../authentication/authentication.js").AuthActionOptions) => Promise<void>;
|
|
58
|
-
isAuthenticated: boolean;
|
|
59
|
-
isPending: boolean;
|
|
60
|
-
profile: import("../authentication/state.js").UserProfile | null;
|
|
61
|
-
providerData: unknown;
|
|
62
|
-
setAuthenticationPending: () => void;
|
|
63
|
-
setLoggedOut: () => void;
|
|
64
|
-
setLoggedIn: ({ profile, providerData, }: {
|
|
65
|
-
profile: import("../authentication/state.js").UserProfile;
|
|
66
|
-
providerData: unknown;
|
|
67
|
-
}) => void;
|
|
68
|
-
isAuthEnabled: boolean;
|
|
69
|
-
};
|
|
19
|
+
export { useAuth } from "../authentication/hook.js";
|
|
70
20
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
71
|
-
export
|
|
72
|
-
invalidateCache: (key: "API_IDENTITIES") => Promise<void>;
|
|
73
|
-
};
|
|
21
|
+
export { CACHE_KEYS, useCache } from "./cache.js";
|
|
74
22
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
75
|
-
export
|
|
76
|
-
API_IDENTITIES: string[];
|
|
77
|
-
}>;
|
|
78
|
-
/** @deprecated Import from `zudoku/hooks` instead */
|
|
79
|
-
export declare const useTheme: () => import("next-themes").UseThemeProps;
|
|
23
|
+
export { useZudoku } from "./context/ZudokuContext.js";
|
|
@@ -1,42 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import { Spinner as SpinnerImport } from "./Spinner.js";
|
|
16
|
-
import { Typography as TypographyImport } from "./Typography.js";
|
|
17
|
-
import { Zudoku as ZudokuImport } from "./Zudoku.js";
|
|
18
|
-
export const Head = /*@__PURE__*/ Helmet;
|
|
19
|
-
export const Heading = /*@__PURE__*/ HeadingImport;
|
|
20
|
-
export const Callout = /*@__PURE__*/ CalloutImport;
|
|
21
|
-
export const Markdown = /*@__PURE__*/ MarkdownImport;
|
|
22
|
-
export const Spinner = /*@__PURE__*/ SpinnerImport;
|
|
23
|
-
export const ClientOnly = /*@__PURE__*/ ClientOnlyImport;
|
|
24
|
-
export const Button = /*@__PURE__*/ ButtonImport;
|
|
25
|
-
export const Link = /*@__PURE__*/ LinkImport;
|
|
26
|
-
export const Zudoku = /*@__PURE__*/ ZudokuImport;
|
|
27
|
-
export const Typography = /*@__PURE__*/ TypographyImport;
|
|
28
|
-
export const Slot = /*@__PURE__*/ SlotImport;
|
|
29
|
-
export const ZudokuError = /*@__PURE__*/ ZudokuErrorImport;
|
|
1
|
+
export { Helmet as Head } from "@zudoku/react-helmet-async";
|
|
2
|
+
export { Link } from "react-router";
|
|
3
|
+
export { Button } from "../ui/Button.js";
|
|
4
|
+
export { Callout } from "../ui/Callout.js";
|
|
5
|
+
export { ZudokuError } from "../util/invariant.js";
|
|
6
|
+
export { ClientOnly } from "./ClientOnly.js";
|
|
7
|
+
export { Heading } from "./Heading.js";
|
|
8
|
+
export { Markdown } from "./Markdown.js";
|
|
9
|
+
export { Search } from "./Search.js";
|
|
10
|
+
export { Slot } from "./Slot.js";
|
|
11
|
+
export { Spinner } from "./Spinner.js";
|
|
12
|
+
export { Typography } from "./Typography.js";
|
|
13
|
+
export { Zudoku } from "./Zudoku.js";
|
|
14
|
+
//
|
|
30
15
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
31
|
-
export
|
|
16
|
+
export { useMDXComponents } from "@mdx-js/react";
|
|
32
17
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
33
|
-
export
|
|
18
|
+
export { useTheme } from "next-themes";
|
|
34
19
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
35
|
-
export
|
|
20
|
+
export { useAuth } from "../authentication/hook.js";
|
|
36
21
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
37
|
-
export
|
|
22
|
+
export { CACHE_KEYS, useCache } from "./cache.js";
|
|
38
23
|
/** @deprecated Import from `zudoku/hooks` instead */
|
|
39
|
-
export
|
|
40
|
-
/** @deprecated Import from `zudoku/hooks` instead */
|
|
41
|
-
export const useTheme = /*@__PURE__*/ useThemeImport;
|
|
24
|
+
export { useZudoku } from "./context/ZudokuContext.js";
|
|
42
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,EAAE;AAEF,qDAAqD;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,qDAAqD;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,qDAAqD;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClD,qDAAqD;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
3
3
|
import { DrawerContent, DrawerTitle } from "../../ui/Drawer.js";
|
|
4
4
|
import { Slot } from "../Slot.js";
|
|
5
|
+
import { NavigationFilterProvider } from "./NavigationFilterContext.js";
|
|
5
6
|
import { NavigationItem } from "./NavigationItem.js";
|
|
6
7
|
import { NavigationWrapper } from "./NavigationWrapper.js";
|
|
7
|
-
export const Navigation = ({ onRequestClose, navigation, }) => (_jsxs(
|
|
8
|
+
export const Navigation = ({ onRequestClose, navigation, }) => (_jsxs(NavigationFilterProvider, { children: [_jsxs(NavigationWrapper, { children: [_jsx(Slot.Target, { name: "navigation-before" }), navigation.map((item) => (_jsx(NavigationItem, { item: item }, item.type +
|
|
8
9
|
(item.label ?? "") +
|
|
9
10
|
("path" in item ? item.path : "") +
|
|
10
11
|
("file" in item ? item.file : "") +
|
|
11
|
-
("to" in item ? item.to : "")))), _jsx(Slot.Target, { name: "navigation-after" })] }), _jsx(DrawerContent, { className: "lg:hidden h-
|
|
12
|
+
("to" in item ? item.to : "")))), _jsx(Slot.Target, { name: "navigation-after" })] }), _jsx(DrawerContent, { className: "lg:hidden h-dvh start-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: "Navigation" }) }), navigation.map((item) => (_jsx(NavigationItem, { item: item, onRequestClose: onRequestClose }, item.label)))] }) })] }));
|
|
12
13
|
//# sourceMappingURL=Navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,cAAc,EACd,UAAU,GAIX,EAAE,EAAE,CAAC,CACJ,
|
|
1
|
+
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,cAAc,EACd,UAAU,GAIX,EAAE,EAAE,CAAC,CACJ,MAAC,wBAAwB,eACvB,MAAC,iBAAiB,eAChB,KAAC,IAAI,CAAC,MAAM,IAAC,IAAI,EAAC,mBAAmB,GAAG,EACvC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAQb,IAAI,EAAE,IAAI,IANR,IAAI,CAAC,IAAI;oBACT,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAG/B,CACH,CAAC,EACF,KAAC,IAAI,CAAC,MAAM,IAAC,IAAI,EAAC,kBAAkB,GAAG,IACrB,EACpB,KAAC,aAAa,IACZ,SAAS,EAAC,gDAAgD,sBACxC,SAAS,YAE3B,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,cAAc,cACb,KAAC,WAAW,6BAAyB,GACtB,EAChB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAEb,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,IAFzB,IAAI,CAAC,KAAK,CAGf,CACH,CAAC,IACE,GACQ,IACS,CAC5B,CAAC"}
|
|
@@ -7,12 +7,14 @@ import { NavLink, useLocation, useMatch } from "react-router";
|
|
|
7
7
|
import { Button } from "zudoku/ui/Button.js";
|
|
8
8
|
import { cn } from "../../util/cn.js";
|
|
9
9
|
import { joinUrl } from "../../util/joinUrl.js";
|
|
10
|
+
import { useNavigationFilter } from "./NavigationFilterContext.js";
|
|
10
11
|
import { NavigationItem } from "./NavigationItem.js";
|
|
11
12
|
import { navigationListItem, useIsCategoryOpen } from "./utils.js";
|
|
12
13
|
const NavigationCategoryInner = ({ category, onRequestClose, }) => {
|
|
13
14
|
const isCategoryOpen = useIsCategoryOpen(category);
|
|
14
15
|
const [hasInteracted, setHasInteracted] = useState(false);
|
|
15
16
|
const location = useLocation();
|
|
17
|
+
const { query: filterQuery } = useNavigationFilter();
|
|
16
18
|
const isCollapsible = category.collapsible ?? true;
|
|
17
19
|
const isCollapsed = category.collapsed ?? true;
|
|
18
20
|
const isDefaultOpen = Boolean(!isCollapsible || !isCollapsed || isCategoryOpen);
|
|
@@ -25,6 +27,12 @@ const NavigationCategoryInner = ({ category, onRequestClose, }) => {
|
|
|
25
27
|
setOpen(true);
|
|
26
28
|
}
|
|
27
29
|
}, [isCategoryOpen]);
|
|
30
|
+
// Auto-expand when there's an active filter query
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (filterQuery.trim()) {
|
|
33
|
+
setOpen(true);
|
|
34
|
+
}
|
|
35
|
+
}, [filterQuery]);
|
|
28
36
|
const ToggleButton = isCollapsible && (_jsx(Button, { onClick: (e) => {
|
|
29
37
|
e.preventDefault();
|
|
30
38
|
setOpen((prev) => !prev);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationCategory.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,uBAAuB,GAAG,CAAC,EAC/B,QAAQ,EACR,cAAc,GAIf,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationCategory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type PropsWithChildren } from "react";
|
|
2
|
+
type NavigationFilterContextType = {
|
|
3
|
+
query: string;
|
|
4
|
+
setQuery: (query: string) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const NavigationFilterProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const useNavigationFilter: () => NavigationFilterContextType;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useState, } from "react";
|
|
3
|
+
const NavigationFilterContext = createContext({
|
|
4
|
+
query: "",
|
|
5
|
+
setQuery: () => { },
|
|
6
|
+
});
|
|
7
|
+
export const NavigationFilterProvider = ({ children }) => {
|
|
8
|
+
const [query, setQuery] = useState("");
|
|
9
|
+
return (_jsx(NavigationFilterContext.Provider, { value: { query, setQuery }, children: children }));
|
|
10
|
+
};
|
|
11
|
+
export const useNavigationFilter = () => useContext(NavigationFilterContext);
|
|
12
|
+
//# sourceMappingURL=NavigationFilterContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationFilterContext.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationFilterContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,QAAQ,GACT,MAAM,OAAO,CAAC;AAOf,MAAM,uBAAuB,GAAG,aAAa,CAA8B;IACzE,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,CACL,KAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YACzD,QAAQ,GACwB,CACpC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SearchIcon, XIcon } from "lucide-react";
|
|
3
|
+
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from "zudoku/ui/InputGroup.js";
|
|
4
|
+
import { useNavigationFilter } from "./NavigationFilterContext.js";
|
|
5
|
+
export const NavigationFilterInput = ({ placeholder, }) => {
|
|
6
|
+
const { query, setQuery } = useNavigationFilter();
|
|
7
|
+
return (_jsxs(InputGroup, { className: "my-2", children: [_jsx(InputGroupAddon, { children: _jsx(SearchIcon, { className: "size-3.5" }) }), _jsx(InputGroupInput, { type: "text", placeholder: placeholder, value: query, onChange: (e) => setQuery(e.target.value) }), query && (_jsx(InputGroupButton, { onClick: () => setQuery(""), children: _jsx(XIcon, { className: "size-3" }) }))] }));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=NavigationFilterInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationFilterInput.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationFilterInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAElD,OAAO,CACL,MAAC,UAAU,IAAC,SAAS,EAAC,MAAM,aAC1B,KAAC,eAAe,cACd,KAAC,UAAU,IAAC,SAAS,EAAC,UAAU,GAAG,GACnB,EAClB,KAAC,eAAe,IACd,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACzC,EACD,KAAK,IAAI,CACR,KAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAC3C,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,GAAG,GACX,CACpB,IACU,CACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { ExternalLinkIcon } from "lucide-react";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { NavLink, useLocation } from "react-router";
|
|
5
|
+
import { Separator } from "zudoku/ui/Separator.js";
|
|
5
6
|
import { Tooltip, TooltipContent, TooltipTrigger } from "zudoku/ui/Tooltip.js";
|
|
6
7
|
import { useAuth } from "../../authentication/hook.js";
|
|
7
8
|
import { cn } from "../../util/cn.js";
|
|
@@ -11,6 +12,8 @@ import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
|
|
|
11
12
|
import { useZudoku } from "../context/ZudokuContext.js";
|
|
12
13
|
import { NavigationBadge } from "./NavigationBadge.js";
|
|
13
14
|
import { NavigationCategory } from "./NavigationCategory.js";
|
|
15
|
+
import { useNavigationFilter } from "./NavigationFilterContext.js";
|
|
16
|
+
import { NavigationFilterInput } from "./NavigationFilterInput.js";
|
|
14
17
|
import { navigationListItem, shouldShowItem } from "./utils.js";
|
|
15
18
|
const TruncatedLabel = ({ label, className, }) => {
|
|
16
19
|
const ref = useRef(null);
|
|
@@ -30,12 +33,19 @@ export const NavigationItem = ({ item, onRequestClose, }) => {
|
|
|
30
33
|
const { activeAnchor } = useViewportAnchor();
|
|
31
34
|
const auth = useAuth();
|
|
32
35
|
const context = useZudoku();
|
|
33
|
-
|
|
36
|
+
const { query } = useNavigationFilter();
|
|
37
|
+
if (!shouldShowItem(auth, context, query)(item)) {
|
|
34
38
|
return null;
|
|
35
39
|
}
|
|
36
40
|
switch (item.type) {
|
|
37
41
|
case "category":
|
|
38
42
|
return (_jsx(NavigationCategory, { category: item, onRequestClose: onRequestClose }));
|
|
43
|
+
case "separator":
|
|
44
|
+
return (_jsx(Separator, { className: "my-1 mx-auto w-[calc(100%-var(--padding-nav-item)*2)]!" }));
|
|
45
|
+
case "section":
|
|
46
|
+
return (_jsx("div", { className: "mt-4 px-(--padding-nav-item) text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: item.label }));
|
|
47
|
+
case "filter":
|
|
48
|
+
return _jsx(NavigationFilterInput, { placeholder: item.placeholder });
|
|
39
49
|
case "doc":
|
|
40
50
|
return (_jsxs(NavLink, { viewTransition: true, className: ({ isActive, isPending }) => navigationListItem({ isActive, isPending }), to: joinUrl(item.path), onClick: onRequestClose, end: true, children: [item.icon && (_jsx(item.icon, { size: 16, className: "align-[-0.125em] shrink-0" })), item.badge ? (_jsxs(_Fragment, { children: [item.label && (_jsx(TruncatedLabel, { label: item.label, className: "flex-1" })), _jsx(NavigationBadge, { ...item.badge })] })) : (item.label)] }));
|
|
41
51
|
case "link":
|