zudoku 0.38.0 → 0.39.1
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/entry.server.d.ts +5 -4
- package/dist/app/entry.server.js +2 -2
- package/dist/app/entry.server.js.map +1 -1
- package/dist/app/tailwind.js +14 -0
- package/dist/app/tailwind.js.map +1 -1
- package/dist/cli/cmds/dev.js +1 -7
- package/dist/cli/cmds/dev.js.map +1 -1
- package/dist/config/validators/common.d.ts +17 -0
- package/dist/config/validators/common.js +1 -0
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +7 -0
- package/dist/lib/components/Bootstrap.d.ts +2 -1
- package/dist/lib/components/Bootstrap.js +3 -2
- package/dist/lib/components/Bootstrap.js.map +1 -1
- package/dist/lib/components/Header.js +2 -2
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/Layout.js +2 -9
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/Main.js +3 -1
- package/dist/lib/components/Main.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +6 -3
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/Pagination.d.ts +10 -0
- package/dist/lib/components/Pagination.js +10 -0
- package/dist/lib/components/Pagination.js.map +1 -0
- package/dist/lib/components/TopNavigation.d.ts +1 -0
- package/dist/lib/components/TopNavigation.js +18 -2
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/Zudoku.js +4 -1
- package/dist/lib/components/Zudoku.js.map +1 -1
- package/dist/lib/components/context/BypassProtectedRoutesContext.d.ts +1 -0
- package/dist/lib/components/context/BypassProtectedRoutesContext.js +3 -0
- package/dist/lib/components/context/BypassProtectedRoutesContext.js.map +1 -0
- package/dist/lib/components/index.d.ts +2 -1
- package/dist/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
- package/dist/lib/components/navigation/PoweredByZudoku.js +6 -0
- package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -0
- package/dist/lib/components/navigation/SidebarItem.d.ts +1 -0
- package/dist/lib/components/navigation/SidebarItem.js +7 -3
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/SidebarWrapper.js +9 -2
- package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
- package/dist/lib/{plugins/markdown → components/navigation}/Toc.js +5 -7
- package/dist/lib/components/navigation/Toc.js.map +1 -0
- package/dist/lib/components/navigation/ZudokuLogo.d.ts +6 -0
- package/dist/lib/components/navigation/ZudokuLogo.js +5 -0
- package/dist/lib/components/navigation/ZudokuLogo.js.map +1 -0
- package/dist/lib/core/RouteGuard.d.ts +1 -0
- package/dist/lib/core/RouteGuard.js +9 -3
- package/dist/lib/core/RouteGuard.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +1 -0
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/oas/graphql/index.d.ts +2 -1
- package/dist/lib/oas/graphql/index.js +74 -14
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/oas/parser/dereference/index.js +2 -0
- package/dist/lib/oas/parser/dereference/index.js.map +1 -1
- package/dist/lib/oas/parser/index.d.ts +5 -3
- package/dist/lib/oas/parser/index.js +0 -22
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/plugins/api-catalog/index.js +19 -17
- package/dist/lib/plugins/api-catalog/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +3 -3
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js +1 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +28 -8
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js +2 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaList.d.ts +1 -0
- package/dist/lib/plugins/openapi/SchemaList.js +52 -0
- package/dist/lib/plugins/openapi/SchemaList.js.map +1 -0
- package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLClient.js +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +6 -2
- package/dist/lib/plugins/openapi/client/useCreateQuery.js +5 -5
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
- package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
- package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +6 -2
- package/dist/lib/plugins/openapi/graphql/gql.js +3 -2
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +67 -11
- package/dist/lib/plugins/openapi/graphql/graphql.js +34 -5
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +12 -0
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +1 -2
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +2 -2
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +2 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +2 -2
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +1 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +12 -0
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +2 -4
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +12 -9
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -2
- package/dist/lib/plugins/openapi/schema/SchemaView.js +30 -52
- package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/utils.d.ts +1 -0
- package/dist/lib/plugins/openapi/schema/utils.js +3 -1
- package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
- package/dist/lib/plugins/openapi/util/getRoutes.js +9 -3
- package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js +9 -4
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -1
- package/dist/lib/plugins/search-pagefind/ResultList.js +6 -12
- package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/index.d.ts +1 -3
- package/dist/lib/util/useOnScreen.d.ts +3 -2
- package/dist/lib/util/useOnScreen.js +3 -3
- package/dist/lib/util/useOnScreen.js.map +1 -1
- package/dist/vite/api/schema-codegen.js +2 -2
- package/dist/vite/api/schema-codegen.js.map +1 -1
- package/dist/vite/api/schema-codegen.test.js +5 -0
- package/dist/vite/api/schema-codegen.test.js.map +1 -1
- package/dist/vite/build.js +1 -9
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/plugin-api.js +8 -7
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-search.js +1 -1
- package/dist/vite/plugin-search.js.map +1 -1
- package/dist/vite/prerender/FileWritingResponse.d.ts +9 -5
- package/dist/vite/prerender/FileWritingResponse.js +5 -5
- package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
- package/dist/vite/prerender/InMemoryResponse.d.ts +16 -0
- package/dist/vite/prerender/InMemoryResponse.js +32 -0
- package/dist/vite/prerender/InMemoryResponse.js.map +1 -0
- package/dist/vite/prerender/PrerenderResponse.d.ts +10 -0
- package/dist/vite/prerender/PrerenderResponse.js +2 -0
- package/dist/vite/prerender/PrerenderResponse.js.map +1 -0
- package/dist/vite/prerender/prerender.d.ts +1 -0
- package/dist/vite/prerender/prerender.js +18 -0
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.js +36 -8
- package/dist/vite/prerender/worker.js.map +1 -1
- package/dist/zuplo/with-zuplo.js +4 -0
- package/dist/zuplo/with-zuplo.js.map +1 -1
- package/lib/{AuthenticationPlugin-Duy_R1TU.js → AuthenticationPlugin-foqdvvkf.js} +2 -2
- package/lib/{AuthenticationPlugin-Duy_R1TU.js.map → AuthenticationPlugin-foqdvvkf.js.map} +1 -1
- package/lib/{Markdown-DIZ8nBVC.js → Markdown-aF5FdsNi.js} +1339 -1335
- package/lib/{Markdown-DIZ8nBVC.js.map → Markdown-aF5FdsNi.js.map} +1 -1
- package/lib/MdxPage-JscVnWM8.js +84 -0
- package/lib/MdxPage-JscVnWM8.js.map +1 -0
- package/lib/{OasProvider-D1A10JeA.js → OasProvider-C7Y53snX.js} +3 -3
- package/lib/{OasProvider-D1A10JeA.js.map → OasProvider-C7Y53snX.js.map} +1 -1
- package/lib/OperationList-_M8wg22T.js +5066 -0
- package/lib/OperationList-_M8wg22T.js.map +1 -0
- package/lib/Pagination-DCCvGq0m.js +46 -0
- package/lib/Pagination-DCCvGq0m.js.map +1 -0
- package/lib/RouteGuard-CqZPoZYJ.js +744 -0
- package/lib/RouteGuard-CqZPoZYJ.js.map +1 -0
- package/lib/SchemaList-CrKZdUyo.js +148 -0
- package/lib/SchemaList-CrKZdUyo.js.map +1 -0
- package/lib/SchemaView-B4JHn-BX.js +354 -0
- package/lib/SchemaView-B4JHn-BX.js.map +1 -0
- package/lib/{Select-fAYcJ0OU.js → Select-DVFRKf1R.js} +3 -3
- package/lib/{Select-fAYcJ0OU.js.map → Select-DVFRKf1R.js.map} +1 -1
- package/lib/{SlotletProvider-BEwNY8q0.js → SlotletProvider-DXvc0aY6.js} +2 -2
- package/lib/{SlotletProvider-BEwNY8q0.js.map → SlotletProvider-DXvc0aY6.js.map} +1 -1
- package/lib/Toc-YBsgI72s.js +92 -0
- package/lib/Toc-YBsgI72s.js.map +1 -0
- package/lib/{createServer-DjgKDpGV.js → createServer-mYvGvmc0.js} +2596 -2502
- package/lib/createServer-mYvGvmc0.js.map +1 -0
- package/lib/{hook-Cge6LiTK.js → hook-CqpVYDqN.js} +28 -28
- package/lib/{hook-Cge6LiTK.js.map → hook-CqpVYDqN.js.map} +1 -1
- package/lib/{index-B0y3fTg-.js → index-C8-tlf_X.js} +771 -729
- package/lib/index-C8-tlf_X.js.map +1 -0
- package/lib/index-D6ktNq4i.js +1863 -0
- package/lib/index-D6ktNq4i.js.map +1 -0
- package/lib/{mutation-EChriCeF.js → mutation-8LjrN7uz.js} +2 -2
- package/lib/{mutation-EChriCeF.js.map → mutation-8LjrN7uz.js.map} +1 -1
- package/lib/objectEntries-yMIkr2mI.js +5 -0
- package/lib/objectEntries-yMIkr2mI.js.map +1 -0
- package/lib/useLatest-hmRS46UF.js +11 -0
- package/lib/useLatest-hmRS46UF.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-openid.js +2 -2
- package/lib/zudoku.components.js +32 -1454
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.hooks.js +1 -1
- package/lib/zudoku.plugin-api-catalog.js +80 -76
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +3 -3
- 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 +132 -137
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/package.json +6 -5
- package/src/app/entry.server.tsx +6 -3
- package/src/app/tailwind.ts +14 -0
- package/src/lib/components/Bootstrap.tsx +13 -6
- package/src/lib/components/Header.tsx +2 -2
- package/src/lib/components/Layout.tsx +5 -17
- package/src/lib/components/Main.tsx +6 -3
- package/src/lib/components/MobileTopNavigation.tsx +27 -18
- package/src/lib/components/Pagination.tsx +47 -0
- package/src/lib/components/TopNavigation.tsx +29 -2
- package/src/lib/components/Zudoku.tsx +5 -3
- package/src/lib/components/context/BypassProtectedRoutesContext.ts +3 -0
- package/src/lib/components/navigation/PoweredByZudoku.tsx +23 -0
- package/src/lib/components/navigation/SidebarItem.tsx +10 -4
- package/src/lib/components/navigation/SidebarWrapper.tsx +27 -13
- package/src/lib/{plugins/markdown → components/navigation}/Toc.tsx +5 -14
- package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
- package/src/lib/core/RouteGuard.tsx +26 -4
- package/src/lib/core/ZudokuContext.ts +1 -0
- package/src/lib/oas/graphql/index.ts +118 -45
- package/src/lib/oas/parser/dereference/index.ts +2 -0
- package/src/lib/oas/parser/index.ts +7 -29
- package/src/lib/plugins/api-catalog/index.tsx +40 -35
- package/src/lib/plugins/markdown/MdxPage.tsx +6 -36
- package/src/lib/plugins/openapi/ColorizedParam.tsx +1 -1
- package/src/lib/plugins/openapi/OperationList.tsx +36 -15
- package/src/lib/plugins/openapi/OperationListItem.tsx +7 -2
- package/src/lib/plugins/openapi/ParameterListItem.tsx +2 -0
- package/src/lib/plugins/openapi/SchemaList.tsx +151 -0
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +1 -1
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +12 -5
- package/src/lib/plugins/openapi/components/EnumValues.tsx +1 -1
- package/src/lib/plugins/openapi/graphql/gql.ts +15 -6
- package/src/lib/plugins/openapi/graphql/graphql.ts +104 -15
- package/src/lib/plugins/openapi/index.tsx +13 -0
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -8
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +3 -0
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +6 -3
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +36 -0
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +20 -21
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +69 -141
- package/src/lib/plugins/openapi/schema/utils.ts +7 -1
- package/src/lib/plugins/openapi/util/getRoutes.tsx +9 -6
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +11 -4
- package/src/lib/plugins/search-pagefind/ResultList.tsx +5 -16
- package/src/lib/plugins/search-pagefind/index.tsx +1 -1
- package/src/lib/util/useOnScreen.ts +6 -4
- package/dist/cli/dev/pagefind-command.d.ts +0 -3
- package/dist/cli/dev/pagefind-command.js +0 -59
- package/dist/cli/dev/pagefind-command.js.map +0 -1
- package/dist/lib/components/context/PluginSystem.d.ts +0 -1
- package/dist/lib/components/context/PluginSystem.js +0 -2
- package/dist/lib/components/context/PluginSystem.js.map +0 -1
- package/dist/lib/plugins/markdown/Toc.js.map +0 -1
- package/lib/MdxPage-JEdbfW-f.js +0 -195
- package/lib/MdxPage-JEdbfW-f.js.map +0 -1
- package/lib/OperationList-yOmYzMIp.js +0 -5379
- package/lib/OperationList-yOmYzMIp.js.map +0 -1
- package/lib/createServer-DjgKDpGV.js.map +0 -1
- package/lib/index-B0y3fTg-.js.map +0 -1
- package/lib/index.esm-CltAN0Tf.js +0 -711
- package/lib/index.esm-CltAN0Tf.js.map +0 -1
- package/lib/objectEntries-BS7aAgOm.js +0 -12
- package/lib/objectEntries-BS7aAgOm.js.map +0 -1
- package/src/lib/components/context/PluginSystem.ts +0 -0
- /package/dist/lib/{plugins/markdown → components/navigation}/Toc.d.ts +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ArrowLeftIcon, ArrowRightIcon } from "lucide-react";
|
|
3
|
+
import { Link } from "react-router";
|
|
4
|
+
import { cn } from "../util/cn.js";
|
|
5
|
+
import { Button } from "./index.js";
|
|
6
|
+
export const Pagination = ({ prev, next, }) => {
|
|
7
|
+
const linkClass = "group transition-all p-5 space-x-1 transition-all hover:text-foreground";
|
|
8
|
+
return (_jsxs("div", { className: cn("flex my-8 -mx-4 text-muted-foreground font-semibold", prev ? "justify-between" : "justify-end"), children: [prev && (_jsx(Button, { variant: "ghost", asChild: true, children: _jsxs(Link, { to: prev.to, relative: "path", className: linkClass, children: [_jsx(ArrowLeftIcon, { className: "group-hover:motion-safe:animate-bounce-x-start", size: 12 }), _jsx("span", { className: "truncate", children: prev.label })] }) })), next && (_jsx(Button, { variant: "ghost", asChild: true, children: _jsxs(Link, { to: next.to, relative: "path", className: linkClass, children: [_jsx("span", { className: "truncate ", children: next.label }), _jsx(ArrowRightIcon, { className: "group-hover:motion-safe:animate-bounce-x-end", size: 12 })] }) }))] }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=Pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../src/lib/components/Pagination.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,IAAI,EACJ,IAAI,GAIL,EAAE,EAAE;IACH,MAAM,SAAS,GACb,yEAAyE,CAAC;IAE5E,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,qDAAqD,EACrD,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CACzC,aAEA,IAAI,IAAI,CACP,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,kBAC7B,MAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAC,MAAM,EAAC,SAAS,EAAE,SAAS,aACrD,KAAC,aAAa,IACZ,SAAS,EAAC,gDAAgD,EAC1D,IAAI,EAAE,EAAE,GACR,EACF,eAAM,SAAS,EAAC,UAAU,YAAE,IAAI,CAAC,KAAK,GAAQ,IACzC,GACA,CACV,EACA,IAAI,IAAI,CACP,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,kBAC7B,MAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAC,MAAM,EAAC,SAAS,EAAE,SAAS,aACrD,eAAM,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,GAAQ,EAC/C,KAAC,cAAc,IACb,SAAS,EAAC,8CAA8C,EACxD,IAAI,EAAE,EAAE,GACR,IACG,GACA,CACV,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,5 +2,6 @@ import type { TopNavigationItem } from "../../config/validators/common.js";
|
|
|
2
2
|
export declare const isHiddenItem: (isAuthenticated?: boolean) => (item: {
|
|
3
3
|
display?: "auth" | "anon" | "always" | "hide";
|
|
4
4
|
}) => boolean;
|
|
5
|
+
export declare const PageProgress: () => import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export declare const TopNavigation: () => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export declare const TopNavItem: ({ id, label, default: defaultLink, }: TopNavigationItem) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useNProgress } from "@tanem/react-nprogress";
|
|
2
3
|
import { cx } from "class-variance-authority";
|
|
3
|
-
import { Suspense } from "react";
|
|
4
|
+
import { Suspense, useEffect, useState } from "react";
|
|
4
5
|
import { NavLink, useNavigation } from "react-router";
|
|
5
6
|
import { useAuth } from "../authentication/hook.js";
|
|
6
7
|
import { joinUrl } from "../util/joinUrl.js";
|
|
@@ -15,6 +16,21 @@ export const isHiddenItem = (isAuthenticated) => (item) => {
|
|
|
15
16
|
!item.display ||
|
|
16
17
|
item.display === "always");
|
|
17
18
|
};
|
|
19
|
+
export const PageProgress = () => {
|
|
20
|
+
const navigation = useNavigation();
|
|
21
|
+
const isNavigating = navigation.state === "loading";
|
|
22
|
+
// delay the animation to avoid flickering
|
|
23
|
+
const [isAnimating, setIsAnimating] = useState(false);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const timer = setTimeout(() => setIsAnimating(isNavigating), 100);
|
|
26
|
+
return () => clearTimeout(timer);
|
|
27
|
+
}, [isNavigating]);
|
|
28
|
+
const { isFinished, progress } = useNProgress({ isAnimating });
|
|
29
|
+
return (_jsx("div", { className: "absolute w-0 left-0 right-0 bottom-[-1px] h-[2px] bg-primary transition-all duration-300 ease-in-out", style: {
|
|
30
|
+
opacity: isFinished ? 0 : 1,
|
|
31
|
+
width: isFinished ? 0 : `${progress * 100}%`,
|
|
32
|
+
} }));
|
|
33
|
+
};
|
|
18
34
|
export const TopNavigation = () => {
|
|
19
35
|
const { topNavigation } = useZudoku();
|
|
20
36
|
const { isAuthenticated } = useAuth();
|
|
@@ -22,7 +38,7 @@ export const TopNavigation = () => {
|
|
|
22
38
|
if (filteredItems.length === 0) {
|
|
23
39
|
return _jsx("style", { children: `:root { --top-nav-height: 0px; }` });
|
|
24
40
|
}
|
|
25
|
-
return (
|
|
41
|
+
return (_jsxs(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.id))) }) }), _jsx(Slotlet, { name: "top-navigation-side" })] }), _jsx(PageProgress, {})] }));
|
|
26
42
|
};
|
|
27
43
|
export const TopNavItem = ({ id, label, default: defaultLink, }) => {
|
|
28
44
|
const { sidebars } = useZudoku();
|
|
@@ -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,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { RouterEventsEmitter } from "./context/RouterEventsEmitter.js";
|
|
|
17
17
|
import { ViewportAnchorProvider } from "./context/ViewportAnchorContext.js";
|
|
18
18
|
import { ZudokuProvider } from "./context/ZudokuProvider.js";
|
|
19
19
|
import { SlotletProvider } from "./SlotletProvider.js";
|
|
20
|
+
let zudokuContext;
|
|
20
21
|
const ZudokoInner = memo(({ children, ...props }) => {
|
|
21
22
|
const components = useMemo(() => ({ ...DEFAULT_COMPONENTS, ...props.overrides }), [props.overrides]);
|
|
22
23
|
const location = useLocation();
|
|
@@ -41,7 +42,9 @@ const ZudokoInner = memo(({ children, ...props }) => {
|
|
|
41
42
|
}
|
|
42
43
|
setDidNavigate(true);
|
|
43
44
|
}, [didNavigate, navigation.location]);
|
|
44
|
-
|
|
45
|
+
if (!zudokuContext) {
|
|
46
|
+
zudokuContext = new ZudokuContext(props, queryClient);
|
|
47
|
+
}
|
|
45
48
|
const heads = props.plugins
|
|
46
49
|
?.flatMap((plugin) => hasHead(plugin) ? (plugin.getHead?.({ location }) ?? []) : [])
|
|
47
50
|
// eslint-disable-next-line react/no-array-index-key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zudoku.js","sourceRoot":"","sources":["../../../src/lib/components/Zudoku.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Zudoku.js","sourceRoot":"","sources":["../../../src/lib/components/Zudoku.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const BypassProtectedRoutesContext: import("react").Context<boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BypassProtectedRoutesContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/BypassProtectedRoutesContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -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;
|
|
@@ -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"}
|
|
@@ -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, }: {
|
|
@@ -2,12 +2,12 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { cva } from "class-variance-authority";
|
|
3
3
|
import { ExternalLinkIcon } from "lucide-react";
|
|
4
4
|
import { NavLink, useLocation, useSearchParams } from "react-router";
|
|
5
|
-
import {
|
|
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] my-0.5 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
13
|
true: "bg-accent font-medium",
|
|
@@ -17,6 +17,10 @@ export const navigationListItem = cva("flex items-center gap-2 px-[--padding-nav
|
|
|
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,
|
|
@@ -31,7 +35,7 @@ export const SidebarItem = ({ item, onRequestClose, }) => {
|
|
|
31
35
|
case "category":
|
|
32
36
|
return (_jsx(SidebarCategory, { category: item, onRequestClose: onRequestClose }));
|
|
33
37
|
case "doc":
|
|
34
|
-
return (_jsxs(NavLink, { className: ({ isActive }) => navigationListItem({ isActive }), to:
|
|
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)] }));
|
|
35
39
|
case "link":
|
|
36
40
|
return !item.href.startsWith("http") ? (_jsx(AnchorLink, { to: {
|
|
37
41
|
pathname: item.href.split("#")[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,uGAAuG,EACvG;IACE,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,oBAAoB;SAC5B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,EAAE;SACV;QACD,SAAS,EAAE;YACT,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,KAAK;KAChB;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,IAAI,EACJ,cAAc,GAIf,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC7C,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAC;IAEzC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,CACL,KAAC,eAAe,IAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,CACpE,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,CACL,MAAC,OAAO,IACN,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CACrC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAE7C,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EACpB,OAAO,EAAE,cAAc,EACvB,GAAG,mBAEF,IAAI,CAAC,IAAI,IAAI,KAAC,IAAI,CAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,kBAAkB,GAAG,EACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,8BACE,eAAM,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,YAChD,IAAI,CAAC,KAAK,GACN,EACP,KAAC,YAAY,OAAK,IAAI,CAAC,KAAK,GAAI,IAC/B,CACJ,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,KAAK,CACX,IACO,CACX,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACrC,KAAC,UAAU,IACT,EAAE,EAAE;oBACF,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;iBAChC,EACK,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACjD,SAAS,EAAE,kBAAkB,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACnE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,IAAI,iBAAiB;iBAClE,CAAC,EACF,OAAO,EAAE,cAAc,YAEtB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,8BACE,eAAM,SAAS,EAAC,UAAU,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,YACzC,IAAI,CAAC,KAAK,GACN,EACP,KAAC,YAAY,OAAK,IAAI,CAAC,KAAK,GAAI,IAC/B,CACJ,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,GAAQ,CAChD,GACU,CACd,CAAC,CAAC,CAAC,CACF,aACE,SAAS,EAAE,kBAAkB,EAAE,EAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,OAAO,EAAE,cAAc,aAEvB,eAAM,SAAS,EAAC,mBAAmB,YAAE,IAAI,CAAC,KAAK,GAAQ,EAEvD,eAAM,SAAS,EAAC,mBAAmB,YACjC,KAAC,gBAAgB,IAAC,SAAS,EAAC,yBAAyB,EAAC,IAAI,EAAE,EAAE,GAAI,GAC7D,IACL,CACL,CAAC;IACN,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../util/cn.js";
|
|
3
|
-
|
|
3
|
+
import { useZudoku } from "../context/ZudokuContext.js";
|
|
4
|
+
import { PoweredByZudoku } from "./PoweredByZudoku.js";
|
|
5
|
+
export const SidebarWrapper = ({ children, className, ref, }) => {
|
|
6
|
+
const { options } = useZudoku();
|
|
7
|
+
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", { 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-6 pt-[--padding-content-top] scroll-pt-2 gap-1", className), style: {
|
|
8
|
+
maskImage: `linear-gradient(180deg, transparent 1%, rgba(0, 0, 0, 1) 20px, rgba(0, 0, 0, 1) 90%, transparent 99%)`,
|
|
9
|
+
}, ref: ref, 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, {}) })] }));
|
|
10
|
+
};
|
|
4
11
|
SidebarWrapper.displayName = "SidebarWrapper";
|
|
5
12
|
//# sourceMappingURL=SidebarWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarWrapper.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarWrapper.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SidebarWrapper.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarWrapper.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,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,EACT,GAAG,GAIH,EAAE,EAAE;IACJ,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhC,OAAO,CACL,eAAK,SAAS,EAAC,gHAAgH,aAC7H,cACE,SAAS,EAAE,EAAE,CACX,kJAAkJ,EAClJ,4EAA4E,EAC5E,SAAS,CACV,EACD,KAAK,EAAE;oBACL,SAAS,EAAE,uGAAuG;iBACnH,EACD,GAAG,EAAE,GAAG,YAEP,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
|
-
: "
|
|
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,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,19 +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);
|
|
19
|
+
const shouldBypass = use(BypassProtectedRoutesContext);
|
|
15
20
|
const { protectedRoutes = [] } = zudoku.options;
|
|
16
|
-
const isProtected =
|
|
21
|
+
const isProtected = !shouldBypass &&
|
|
22
|
+
protectedRoutes.some((path) => matchPath({ path, end: true }, location.pathname));
|
|
17
23
|
useQuery({
|
|
18
24
|
queryKey: ["login-redirect"],
|
|
19
25
|
queryFn: async () => {
|
|
@@ -41,6 +47,6 @@ export const RouteGuard = () => {
|
|
|
41
47
|
developerHint: "To use protectedRoutes you need authentication to be enabled",
|
|
42
48
|
});
|
|
43
49
|
}
|
|
44
|
-
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, {})] }));
|
|
45
51
|
};
|
|
46
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;IAChD,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAEhD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../../src/lib/core/RouteGuard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../src/lib/core/ZudokuContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,OAAO,EAAkB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAElB,mBAAmB,GAEpB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../src/lib/core/ZudokuContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,8 @@ type GraphQLOperationObject = OperationObject & {
|
|
|
20
20
|
slug?: string;
|
|
21
21
|
parentTag?: string;
|
|
22
22
|
};
|
|
23
|
-
export declare const getAllTags: (schema: OpenAPIDocument, slugs: ReturnType<typeof getAllSlugs>["tags"]) => Array<TagObject & {
|
|
23
|
+
export declare const getAllTags: (schema: OpenAPIDocument, slugs: ReturnType<typeof getAllSlugs>["tags"]) => Array<Omit<TagObject, "name"> & {
|
|
24
|
+
name?: string;
|
|
24
25
|
slug?: string;
|
|
25
26
|
}>;
|
|
26
27
|
export declare const getAllSlugs: (ops: GraphQLOperationObject[], schemaTags?: TagObject[]) => {
|
|
@@ -23,6 +23,7 @@ export const getAllTags = (schema, slugs) => {
|
|
|
23
23
|
const operationTags = new Set(Object.values(schema.paths ?? {})
|
|
24
24
|
.flatMap((path) => Object.values(path ?? {}))
|
|
25
25
|
.flatMap((op) => op.tags ?? []));
|
|
26
|
+
const hasUntaggedOperations = Object.values(schema.paths ?? {}).some((path) => Object.values(path ?? {}).some((op) => !op.tags?.length));
|
|
26
27
|
return [
|
|
27
28
|
// Keep root tags that are actually used in operations
|
|
28
29
|
...rootTags
|
|
@@ -32,6 +33,8 @@ export const getAllTags = (schema, slugs) => {
|
|
|
32
33
|
...[...operationTags]
|
|
33
34
|
.filter((tag) => !rootTags.some((rt) => rt.name === tag))
|
|
34
35
|
.map((tag) => ({ name: tag, slug: slugs[tag] })),
|
|
36
|
+
// Add untagged operations if there are any
|
|
37
|
+
...(hasUntaggedOperations ? [{ name: undefined, slug: undefined }] : []),
|
|
35
38
|
];
|
|
36
39
|
};
|
|
37
40
|
export const getAllSlugs = (ops, schemaTags = []) => {
|
|
@@ -74,12 +77,12 @@ export const getAllOperations = (paths) => {
|
|
|
74
77
|
}));
|
|
75
78
|
return operations;
|
|
76
79
|
};
|
|
77
|
-
const SchemaTag = builder
|
|
78
|
-
|
|
79
|
-
.implement({
|
|
80
|
+
const SchemaTag = builder.objectRef("SchemaTag");
|
|
81
|
+
SchemaTag.implement({
|
|
80
82
|
fields: (t) => ({
|
|
81
83
|
name: t.exposeString("name", { nullable: true }),
|
|
82
84
|
slug: t.exposeString("slug", { nullable: true }),
|
|
85
|
+
isUntagged: t.field({ type: "Boolean", resolve: (parent) => !parent.name }),
|
|
83
86
|
description: t.exposeString("description", { nullable: true }),
|
|
84
87
|
operations: t.field({
|
|
85
88
|
type: [OperationItem],
|
|
@@ -94,6 +97,22 @@ const SchemaTag = builder
|
|
|
94
97
|
.map((item) => ({ ...item, parentTag: parent.name }));
|
|
95
98
|
},
|
|
96
99
|
}),
|
|
100
|
+
prev: t.field({
|
|
101
|
+
type: SchemaTag,
|
|
102
|
+
nullable: true,
|
|
103
|
+
resolve: (parent, _args, ctx) => {
|
|
104
|
+
const index = ctx.tags.findIndex((tag) => tag.slug === parent.slug);
|
|
105
|
+
return ctx.tags[index - 1];
|
|
106
|
+
},
|
|
107
|
+
}),
|
|
108
|
+
next: t.field({
|
|
109
|
+
type: SchemaTag,
|
|
110
|
+
nullable: true,
|
|
111
|
+
resolve: (parent, _args, ctx) => {
|
|
112
|
+
const index = ctx.tags.findIndex((tag) => tag.slug === parent.slug);
|
|
113
|
+
return ctx.tags[index + 1];
|
|
114
|
+
},
|
|
115
|
+
}),
|
|
97
116
|
extensions: t.field({
|
|
98
117
|
type: JSONObjectScalar,
|
|
99
118
|
resolve: (parent) => resolveExtensions(parent),
|
|
@@ -302,6 +321,34 @@ const OperationItem = builder
|
|
|
302
321
|
}),
|
|
303
322
|
}),
|
|
304
323
|
});
|
|
324
|
+
const SchemaItem = builder
|
|
325
|
+
.objectRef("SchemaItem")
|
|
326
|
+
.implement({
|
|
327
|
+
fields: (t) => ({
|
|
328
|
+
name: t.exposeString("name"),
|
|
329
|
+
schema: t.expose("schema", { type: JSONSchemaScalar }),
|
|
330
|
+
extensions: t.expose("extensions", {
|
|
331
|
+
type: JSONObjectScalar,
|
|
332
|
+
nullable: true,
|
|
333
|
+
}),
|
|
334
|
+
}),
|
|
335
|
+
});
|
|
336
|
+
const Components = builder.objectRef("Components");
|
|
337
|
+
Components.implement({
|
|
338
|
+
fields: (t) => ({
|
|
339
|
+
schemas: t.field({
|
|
340
|
+
type: [SchemaItem],
|
|
341
|
+
resolve: (parent) => {
|
|
342
|
+
return Object.entries(parent.schemas ?? {}).map(([name, schema]) => ({
|
|
343
|
+
name,
|
|
344
|
+
schema,
|
|
345
|
+
extensions: resolveExtensions(schema),
|
|
346
|
+
}));
|
|
347
|
+
},
|
|
348
|
+
nullable: true,
|
|
349
|
+
}),
|
|
350
|
+
}),
|
|
351
|
+
});
|
|
305
352
|
const Schema = builder.objectRef("Schema").implement({
|
|
306
353
|
fields: (t) => ({
|
|
307
354
|
openapi: t.string({ resolve: (root) => root.openapi }),
|
|
@@ -330,22 +377,30 @@ const Schema = builder.objectRef("Schema").implement({
|
|
|
330
377
|
methods: Object.keys(value),
|
|
331
378
|
})),
|
|
332
379
|
}),
|
|
333
|
-
|
|
380
|
+
tag: t.field({
|
|
381
|
+
type: SchemaTag,
|
|
334
382
|
args: {
|
|
383
|
+
slug: t.arg.string(),
|
|
335
384
|
name: t.arg.string(),
|
|
385
|
+
untagged: t.arg.boolean(),
|
|
336
386
|
},
|
|
337
|
-
|
|
338
|
-
resolve: (
|
|
339
|
-
if (args.
|
|
340
|
-
return ctx.tags.
|
|
387
|
+
nullable: true,
|
|
388
|
+
resolve: (_, args, ctx) => {
|
|
389
|
+
if (args.untagged) {
|
|
390
|
+
return ctx.tags.find((tag) => tag.name === undefined);
|
|
341
391
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
392
|
+
if (args.slug) {
|
|
393
|
+
return ctx.tags.find((tag) => tag.slug === args.slug);
|
|
394
|
+
}
|
|
395
|
+
if (args.name) {
|
|
396
|
+
return ctx.tags.find((tag) => tag.name === args.name);
|
|
345
397
|
}
|
|
346
|
-
return ctx.tags;
|
|
347
398
|
},
|
|
348
399
|
}),
|
|
400
|
+
tags: t.field({
|
|
401
|
+
type: [SchemaTag],
|
|
402
|
+
resolve: (_root, _args, ctx) => ctx.tags,
|
|
403
|
+
}),
|
|
349
404
|
operations: t.field({
|
|
350
405
|
type: [OperationItem],
|
|
351
406
|
args: {
|
|
@@ -355,7 +410,7 @@ const Schema = builder.objectRef("Schema").implement({
|
|
|
355
410
|
tag: t.arg.string(),
|
|
356
411
|
untagged: t.arg.boolean(),
|
|
357
412
|
},
|
|
358
|
-
resolve: (
|
|
413
|
+
resolve: (_parent, args, ctx) => ctx.operations.filter((op) => {
|
|
359
414
|
return ((!args.operationId || op.operationId === args.operationId) &&
|
|
360
415
|
(!args.path || op.path === args.path) &&
|
|
361
416
|
(!args.method || op.method === args.method) &&
|
|
@@ -363,6 +418,11 @@ const Schema = builder.objectRef("Schema").implement({
|
|
|
363
418
|
(!args.untagged || (op.tags ?? []).length === 0));
|
|
364
419
|
}),
|
|
365
420
|
}),
|
|
421
|
+
components: t.field({
|
|
422
|
+
type: Components,
|
|
423
|
+
resolve: (root) => root.components,
|
|
424
|
+
nullable: true,
|
|
425
|
+
}),
|
|
366
426
|
extensions: t.field({
|
|
367
427
|
type: JSONObjectScalar,
|
|
368
428
|
resolve: (root) => resolveExtensions(root),
|
|
@@ -381,7 +441,7 @@ builder.queryType({
|
|
|
381
441
|
type: t.arg({ type: SchemaSource, required: true }),
|
|
382
442
|
input: t.arg({ type: JSONScalar, required: true }),
|
|
383
443
|
},
|
|
384
|
-
resolve: async (
|
|
444
|
+
resolve: async (_parent, args, ctx) => {
|
|
385
445
|
if (args.type === "file" && typeof args.input === "string") {
|
|
386
446
|
const loadSchema = ctx.schemaImports?.[args.input];
|
|
387
447
|
if (!loadSchema) {
|