zudoku 0.0.0-e5b3c9b → 0.0.0-e614aaa
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/cli.js +3 -0
- package/dist/app/entry.client.d.ts +5 -0
- package/dist/app/entry.client.js +1 -0
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/main.js +1 -1
- package/dist/app/main.js.map +1 -1
- package/dist/cli/build/handler.d.ts +1 -3
- package/dist/cli/build/handler.js +7 -0
- package/dist/cli/build/handler.js.map +1 -1
- package/dist/cli/cli.js +5 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/cmds/build.d.ts +11 -3
- package/dist/cli/cmds/build.js +20 -13
- package/dist/cli/cmds/build.js.map +1 -1
- package/dist/cli/cmds/preview.d.ts +16 -0
- package/dist/cli/cmds/preview.js +25 -0
- package/dist/cli/cmds/preview.js.map +1 -0
- package/dist/cli/preview/handler.d.ts +3 -0
- package/dist/cli/preview/handler.js +37 -0
- package/dist/cli/preview/handler.js.map +1 -0
- package/dist/config/common.d.ts +5 -2
- package/dist/config/config.d.ts +2 -7
- package/dist/config/loader.d.ts +4 -4
- package/dist/config/loader.js +7 -4
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/common.d.ts +226 -8
- package/dist/config/validators/common.js +26 -8
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +90 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.d.ts +2 -2
- package/dist/lib/authentication/providers/auth0.js +1 -0
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/clerk.js +6 -6
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +4 -3
- package/dist/lib/authentication/providers/openid.js +4 -2
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/authentication/state.js +8 -2
- package/dist/lib/authentication/state.js.map +1 -1
- package/dist/lib/components/Banner.js +1 -1
- package/dist/lib/components/Banner.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/Layout.js +1 -1
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/ThemeSwitch.js +1 -1
- package/dist/lib/components/ThemeSwitch.js.map +1 -1
- package/dist/lib/components/Zudoku.d.ts +1 -1
- package/dist/lib/components/Zudoku.js +7 -6
- package/dist/lib/components/Zudoku.js.map +1 -1
- package/dist/lib/components/context/RouterEventsEmitter.d.ts +1 -0
- package/dist/lib/components/context/RouterEventsEmitter.js +17 -0
- package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -0
- package/dist/lib/components/index.d.ts +1 -1
- package/dist/lib/core/RouteGuard.d.ts +1 -1
- package/dist/lib/core/RouteGuard.js +22 -9
- package/dist/lib/core/RouteGuard.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +10 -0
- package/dist/lib/core/ZudokuContext.js +17 -1
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +8 -2
- package/dist/lib/core/plugins.js +1 -0
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/hooks/index.d.ts +3 -0
- package/dist/lib/hooks/index.js +5 -0
- package/dist/lib/hooks/index.js.map +1 -0
- package/dist/lib/hooks/useEvent.d.ts +11 -0
- package/dist/lib/hooks/useEvent.js +19 -0
- package/dist/lib/hooks/useEvent.js.map +1 -0
- package/dist/lib/hooks/useEvent.test.d.ts +1 -0
- package/dist/lib/hooks/useEvent.test.js +100 -0
- package/dist/lib/hooks/useEvent.test.js.map +1 -0
- package/dist/lib/plugins/api-catalog/Catalog.d.ts +3 -1
- package/dist/lib/plugins/api-catalog/Catalog.js +7 -4
- package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
- package/dist/lib/plugins/api-catalog/index.js +1 -1
- package/dist/lib/plugins/api-catalog/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +2 -1
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +2 -1
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -1
- package/dist/lib/plugins/openapi/ParameterList.js +3 -2
- package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.d.ts +3 -2
- package/dist/lib/plugins/openapi/playground/PathParams.js +3 -2
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +3 -3
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/PagefindSearch.d.ts +6 -0
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js +67 -0
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -0
- package/dist/lib/plugins/search-pagefind/ResultList.d.ts +7 -0
- package/dist/lib/plugins/search-pagefind/ResultList.js +30 -0
- package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -0
- package/dist/lib/plugins/search-pagefind/get-results.d.ts +3 -0
- package/dist/lib/plugins/search-pagefind/get-results.js +37 -0
- package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -0
- package/dist/lib/plugins/search-pagefind/index.d.ts +6 -0
- package/dist/lib/plugins/search-pagefind/index.js +9 -0
- package/dist/lib/plugins/search-pagefind/index.js.map +1 -0
- package/dist/lib/plugins/search-pagefind/types.d.ts +85 -0
- package/dist/lib/plugins/search-pagefind/types.js +2 -0
- package/dist/lib/plugins/search-pagefind/types.js.map +1 -0
- package/dist/lib/ui/Command.d.ts +7 -1
- package/dist/lib/ui/Command.js +2 -2
- package/dist/lib/ui/Command.js.map +1 -1
- package/dist/lib/ui/Stepper.d.ts +4 -0
- package/dist/lib/ui/Stepper.js +7 -0
- package/dist/lib/ui/Stepper.js.map +1 -0
- package/dist/lib/util/MdxComponents.d.ts +3 -1
- package/dist/lib/util/MdxComponents.js +3 -0
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/useScrollToAnchor.js +6 -8
- package/dist/lib/util/useScrollToAnchor.js.map +1 -1
- package/dist/vite/build.js +5 -0
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +2 -5
- package/dist/vite/config.js +30 -35
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +1 -1
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/css/plugin.d.ts +2 -2
- package/dist/vite/css/plugin.js.map +1 -1
- package/dist/vite/dev-server.js +8 -0
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/pagefind.d.ts +4 -0
- package/dist/vite/pagefind.js +15 -0
- package/dist/vite/pagefind.js.map +1 -0
- package/dist/vite/plugin-api-keys.d.ts +2 -2
- package/dist/vite/plugin-api-keys.js +3 -3
- package/dist/vite/plugin-api-keys.js.map +1 -1
- package/dist/vite/plugin-api.d.ts +2 -2
- package/dist/vite/plugin-api.js +5 -5
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.d.ts +2 -2
- package/dist/vite/plugin-auth.js +3 -3
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.d.ts +2 -2
- package/dist/vite/plugin-component.js +7 -2
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-config-reload.d.ts +4 -3
- package/dist/vite/plugin-config-reload.js +11 -6
- package/dist/vite/plugin-config-reload.js.map +1 -1
- package/dist/vite/plugin-config.d.ts +2 -2
- package/dist/vite/plugin-config.js +2 -2
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-custom-pages.d.ts +2 -2
- package/dist/vite/plugin-custom-pages.js +3 -3
- package/dist/vite/plugin-custom-pages.js.map +1 -1
- package/dist/vite/plugin-docs.d.ts +2 -2
- package/dist/vite/plugin-docs.js +5 -5
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-frontmatter.d.ts +2 -2
- package/dist/vite/plugin-frontmatter.js +5 -4
- package/dist/vite/plugin-frontmatter.js.map +1 -1
- package/dist/vite/plugin-mdx.d.ts +2 -2
- package/dist/vite/plugin-mdx.js +1 -1
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-redirect.d.ts +2 -2
- package/dist/vite/plugin-redirect.js +3 -3
- package/dist/vite/plugin-redirect.js.map +1 -1
- package/dist/vite/plugin-search.d.ts +2 -2
- package/dist/vite/plugin-search.js +5 -1
- package/dist/vite/plugin-search.js.map +1 -1
- package/dist/vite/plugin-sidebar.d.ts +2 -2
- package/dist/vite/plugin-sidebar.js +2 -2
- package/dist/vite/plugin-sidebar.js.map +1 -1
- package/dist/vite/plugin-theme-css.d.ts +2 -2
- package/dist/vite/plugin-theme-css.js.map +1 -1
- package/dist/vite/plugin.d.ts +2 -2
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender/FileWritingResponse.d.ts +2 -1
- package/dist/vite/prerender/FileWritingResponse.js +4 -1
- package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
- package/dist/vite/prerender/prerender.js +3 -21
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.d.ts +1 -1
- package/dist/vite/prerender/worker.js +3 -0
- package/dist/vite/prerender/worker.js.map +1 -1
- package/dist/vite/sitemap.js +2 -1
- package/dist/vite/sitemap.js.map +1 -1
- package/lib/{AuthenticationPlugin-BlxA4Mbn.js → AuthenticationPlugin-CiO1FM6Q.js} +2 -2
- package/lib/{AuthenticationPlugin-BlxA4Mbn.js.map → AuthenticationPlugin-CiO1FM6Q.js.map} +1 -1
- package/lib/Dialog-DIKGQxQc.js +83 -0
- package/lib/Dialog-DIKGQxQc.js.map +1 -0
- package/lib/{Markdown-Cr9sYpR_.js → Markdown-DePfm7oQ.js} +1384 -1381
- package/lib/{Markdown-Cr9sYpR_.js.map → Markdown-DePfm7oQ.js.map} +1 -1
- package/lib/MdxPage-BN6l6zXL.js +201 -0
- package/lib/MdxPage-BN6l6zXL.js.map +1 -0
- package/lib/{OasProvider-WVtvHP5H.js → OasProvider-BSuptFK-.js} +3 -3
- package/lib/{OasProvider-WVtvHP5H.js.map → OasProvider-BSuptFK-.js.map} +1 -1
- package/lib/{OperationList-DhOwupvv.js → OperationList-DOcfDmJP.js} +1569 -1530
- package/lib/OperationList-DOcfDmJP.js.map +1 -0
- package/lib/{Select-D9hI1G-y.js → Select-Dqtcn53H.js} +36 -36
- package/lib/{Select-D9hI1G-y.js.map → Select-Dqtcn53H.js.map} +1 -1
- package/lib/{SlotletProvider-CEfNOA8i.js → SlotletProvider-DdtIOUi6.js} +2 -2
- package/lib/{SlotletProvider-CEfNOA8i.js.map → SlotletProvider-DdtIOUi6.js.map} +1 -1
- package/lib/{createServer-DMf6O2Rz.js → createServer-DmusVVsi.js} +987 -967
- package/lib/createServer-DmusVVsi.js.map +1 -0
- package/lib/{hook-CWwSAAlH.js → hook-CN__aZIt.js} +67 -63
- package/lib/{hook-CWwSAAlH.js.map → hook-CN__aZIt.js.map} +1 -1
- package/lib/{index-Do_30Hpk.js → index-BTbP6Lgf.js} +194 -189
- package/lib/index-BTbP6Lgf.js.map +1 -0
- package/lib/index-DwT-v3zK.js +86 -0
- package/lib/index-DwT-v3zK.js.map +1 -0
- package/lib/index-gQD2h1wX.js +447 -0
- package/lib/index-gQD2h1wX.js.map +1 -0
- package/lib/{mutation-B0wxqzSN.js → mutation-EclmI0is.js} +2 -2
- package/lib/{mutation-B0wxqzSN.js.map → mutation-EclmI0is.js.map} +1 -1
- package/lib/objectEntries-yMIkr2mI.js +5 -0
- package/lib/objectEntries-yMIkr2mI.js.map +1 -0
- package/lib/ui/Command.js +105 -78
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Stepper.js +6 -0
- package/lib/ui/Stepper.js.map +1 -0
- package/lib/ui/SyntaxHighlight.js +2902 -7
- package/lib/ui/SyntaxHighlight.js.map +1 -1
- package/lib/{useScrollToAnchor-C-sRxs9o.js → useScrollToAnchor-RyqO3lj4.js} +20 -20
- package/lib/{useScrollToAnchor-C-sRxs9o.js.map → useScrollToAnchor-RyqO3lj4.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +15 -14
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +29 -29
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +126 -124
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +443 -389
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.css +1 -0
- package/lib/zudoku.hooks.js +19 -0
- package/lib/zudoku.hooks.js.map +1 -0
- package/lib/zudoku.plugin-api-catalog.js +86 -70
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +5 -5
- 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.plugins.js +9 -8
- package/lib/zudoku.plugins.js.map +1 -1
- package/package.json +17 -4
- package/src/app/entry.client.tsx +8 -0
- package/src/app/main.tsx +1 -1
- package/src/lib/authentication/providers/auth0.tsx +3 -2
- package/src/lib/authentication/providers/clerk.tsx +10 -6
- package/src/lib/authentication/providers/openid.tsx +8 -5
- package/src/lib/authentication/state.ts +8 -2
- package/src/lib/components/Banner.tsx +1 -0
- package/src/lib/components/Heading.tsx +1 -1
- package/src/lib/components/Layout.tsx +1 -0
- package/src/lib/components/ThemeSwitch.tsx +1 -1
- package/src/lib/components/Zudoku.tsx +9 -5
- package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
- package/src/lib/core/RouteGuard.tsx +42 -8
- package/src/lib/core/ZudokuContext.ts +31 -0
- package/src/lib/core/plugins.ts +16 -2
- package/src/lib/hooks/index.ts +5 -0
- package/src/lib/hooks/useEvent.test.tsx +149 -0
- package/src/lib/hooks/useEvent.ts +41 -0
- package/src/lib/plugins/api-catalog/Catalog.tsx +23 -7
- package/src/lib/plugins/api-catalog/index.tsx +1 -0
- package/src/lib/plugins/markdown/MdxPage.tsx +5 -1
- package/src/lib/plugins/openapi/OperationList.tsx +15 -3
- package/src/lib/plugins/openapi/OperationListItem.tsx +8 -0
- package/src/lib/plugins/openapi/ParameterList.tsx +4 -0
- package/src/lib/plugins/openapi/Sidecar.tsx +2 -1
- package/src/lib/plugins/openapi/playground/PathParams.tsx +8 -2
- package/src/lib/plugins/openapi/playground/Playground.tsx +3 -3
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +139 -0
- package/src/lib/plugins/search-pagefind/ResultList.tsx +98 -0
- package/src/lib/plugins/search-pagefind/get-results.tsx +54 -0
- package/src/lib/plugins/search-pagefind/index.tsx +21 -0
- package/src/lib/plugins/search-pagefind/types.ts +118 -0
- package/src/lib/ui/Command.tsx +25 -3
- package/src/lib/ui/Stepper.css +43 -0
- package/src/lib/ui/Stepper.tsx +8 -0
- package/src/lib/util/MdxComponents.tsx +4 -1
- package/src/lib/util/useScrollToAnchor.ts +8 -8
- package/lib/MdxPage-Dt-UEQl8.js +0 -193
- package/lib/MdxPage-Dt-UEQl8.js.map +0 -1
- package/lib/OperationList-DhOwupvv.js.map +0 -1
- package/lib/SyntaxHighlight-CcnUjERD.js +0 -2986
- package/lib/SyntaxHighlight-CcnUjERD.js.map +0 -1
- package/lib/createServer-DMf6O2Rz.js.map +0 -1
- package/lib/index-Do_30Hpk.js.map +0 -1
- package/lib/index-Du5aNddU.js +0 -509
- package/lib/index-Du5aNddU.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as oauth from "oauth4webapi";
|
|
2
|
-
import { OpenIDAuthenticationConfig } from "../../../config/config.js";
|
|
3
|
-
import { AuthenticationProvider, AuthenticationProviderInitializer } from "../authentication.js";
|
|
2
|
+
import { type OpenIDAuthenticationConfig } from "../../../config/config.js";
|
|
3
|
+
import { type AuthenticationProvider, type AuthenticationProviderInitializer } from "../authentication.js";
|
|
4
4
|
import { AuthenticationPlugin } from "../AuthenticationPlugin.js";
|
|
5
5
|
export interface OpenIdProviderData {
|
|
6
6
|
accessToken: string;
|
|
@@ -32,7 +32,8 @@ export declare class OpenIDAuthenticationProvider implements AuthenticationProvi
|
|
|
32
32
|
private readonly redirectToAfterSignIn;
|
|
33
33
|
private readonly redirectToAfterSignOut;
|
|
34
34
|
private readonly audience?;
|
|
35
|
-
|
|
35
|
+
private readonly scopes;
|
|
36
|
+
constructor({ issuer, audience, clientId, redirectToAfterSignUp, redirectToAfterSignIn, redirectToAfterSignOut, basePath, scopes, }: OpenIDAuthenticationConfig);
|
|
36
37
|
protected getAuthServer(): Promise<oauth.AuthorizationServer>;
|
|
37
38
|
/**
|
|
38
39
|
* Sets the tokens from various OAuth responses
|
|
@@ -37,7 +37,8 @@ export class OpenIDAuthenticationProvider {
|
|
|
37
37
|
redirectToAfterSignIn;
|
|
38
38
|
redirectToAfterSignOut;
|
|
39
39
|
audience;
|
|
40
|
-
|
|
40
|
+
scopes;
|
|
41
|
+
constructor({ issuer, audience, clientId, redirectToAfterSignUp, redirectToAfterSignIn, redirectToAfterSignOut, basePath, scopes, }) {
|
|
41
42
|
this.client = {
|
|
42
43
|
client_id: clientId,
|
|
43
44
|
token_endpoint_auth_method: "none",
|
|
@@ -45,6 +46,7 @@ export class OpenIDAuthenticationProvider {
|
|
|
45
46
|
this.audience = audience;
|
|
46
47
|
this.issuer = issuer;
|
|
47
48
|
this.callbackUrlPath = joinUrl(basePath, "/oauth/callback");
|
|
49
|
+
this.scopes = scopes ?? ["openid", "profile", "email"];
|
|
48
50
|
const root = joinUrl(basePath, "/");
|
|
49
51
|
this.logoutRedirectUrlPath = root;
|
|
50
52
|
this.redirectToAfterSignUp = redirectToAfterSignUp ?? root;
|
|
@@ -116,7 +118,7 @@ export class OpenIDAuthenticationProvider {
|
|
|
116
118
|
authorizationUrl.searchParams.set("client_id", this.client.client_id);
|
|
117
119
|
authorizationUrl.searchParams.set("redirect_uri", redirectUrl.toString());
|
|
118
120
|
authorizationUrl.searchParams.set("response_type", "code");
|
|
119
|
-
authorizationUrl.searchParams.set("scope", "
|
|
121
|
+
authorizationUrl.searchParams.set("scope", this.scopes.join(" "));
|
|
120
122
|
authorizationUrl.searchParams.set("code_challenge", codeChallenge);
|
|
121
123
|
authorizationUrl.searchParams.set("code_challenge_method", code_challenge_method);
|
|
122
124
|
if (this.audience) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openid.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/openid.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"openid.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/openid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,13 +19,19 @@ export const withStorageDOMEvents = (store) => {
|
|
|
19
19
|
};
|
|
20
20
|
export const useAuthState = create()(persist((state) => ({
|
|
21
21
|
isAuthenticated: false,
|
|
22
|
-
isPending:
|
|
22
|
+
isPending: true,
|
|
23
23
|
profile: null,
|
|
24
24
|
providerData: null,
|
|
25
25
|
}), {
|
|
26
|
+
merge: (persistedState, currentState) => {
|
|
27
|
+
return {
|
|
28
|
+
...currentState,
|
|
29
|
+
isPending: false,
|
|
30
|
+
...(typeof persistedState === "object" ? persistedState : {}),
|
|
31
|
+
};
|
|
32
|
+
},
|
|
26
33
|
name: "auth-state",
|
|
27
34
|
storage: createJSONStorage(() => localStorage),
|
|
28
|
-
// partialize: (s) => ({ state: s }),
|
|
29
35
|
}));
|
|
30
36
|
if (typeof window !== "undefined") {
|
|
31
37
|
withStorageDOMEvents(useAuthState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/lib/authentication/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAA8B,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAShE,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,WAAW,CAAC,UAAmB,IAAG,CAAC;IACzC,KAAK,CAAC,UAAU,KAAI,CAAC;IACrB,KAAK,CAAC,yBAAyB,KAAI,CAAC;CACrC;AAOD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAI,KAA0B,EAAE,EAAE;IACpE,MAAM,oBAAoB,GAAG,CAAC,CAAe,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5D,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAEzD,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,EAAa,CAC7C,OAAO,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/lib/authentication/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAA8B,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAShE,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,WAAW,CAAC,UAAmB,IAAG,CAAC;IACzC,KAAK,CAAC,UAAU,KAAI,CAAC;IACrB,KAAK,CAAC,yBAAyB,KAAI,CAAC;CACrC;AAOD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAI,KAA0B,EAAE,EAAE;IACpE,MAAM,oBAAoB,GAAG,CAAC,CAAe,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5D,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAEzD,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,EAAa,CAC7C,OAAO,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,IAAI;CACnB,CAAC,EACF;IACE,KAAK,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE;QACtC,OAAO;YACL,GAAG,YAAY;YACf,SAAS,EAAE,KAAK;YAChB,GAAG,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;CAC/C,CACF,CACF,CAAC;AAEF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,oBAAoB,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAgBD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,EAAuB,CACjE,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,CAAC,SAAiB,EAAE,EAAE,CACvC,GAAG,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;CACrC,CAAC,EACF,EAAE,IAAI,EAAE,wBAAwB,EAAE,CACnC,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA+B,EAAE,EAAE;IACnE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAEvE,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC;QAC7D,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAChC,CAAC,cAAc,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AACpE,CAAC,CAAC"}
|
|
@@ -22,6 +22,6 @@ export const Banner = () => {
|
|
|
22
22
|
? "bg-primary"
|
|
23
23
|
: undefined;
|
|
24
24
|
const style = !mappedColor ? { backgroundColor: page.banner.color } : {};
|
|
25
|
-
return (_jsxs("div", { className: cn("relative text-primary-foreground text-sm font-medium px-4 py-2 flex gap-2 items-center", mappedColor), style: style, children: [_jsx("div", { className: "w-full", children: page.banner.message }), page.banner.dismissible && (_jsx("button", { type: "button", className: "md:absolute md:right-4 -m-1.5 p-1.5 hover:bg-accent-foreground/10 rounded-md", onClick: () => setIsBannerOpen(false), children: _jsx(CircleXIcon, { size: 16 }) }))] }));
|
|
25
|
+
return (_jsxs("div", { className: cn("relative text-primary-foreground text-sm font-medium px-4 py-2 flex gap-2 items-center", mappedColor), "data-pagefind-ignore": "all", style: style, children: [_jsx("div", { className: "w-full", children: page.banner.message }), page.banner.dismissible && (_jsx("button", { type: "button", className: "md:absolute md:right-4 -m-1.5 p-1.5 hover:bg-accent-foreground/10 rounded-md", onClick: () => setIsBannerOpen(false), children: _jsx(CircleXIcon, { size: 16 }) }))] }));
|
|
26
26
|
};
|
|
27
27
|
//# sourceMappingURL=Banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/lib/components/Banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,aAAa;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,0BAAQ,iCAAiC,GAAS,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QACjD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAA+B,CAAC;QACxD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,WAAW,CACZ,
|
|
1
|
+
{"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/lib/components/Banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,aAAa;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,0BAAQ,iCAAiC,GAAS,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QACjD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAA+B,CAAC;QACxD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,WAAW,CACZ,0BACoB,KAAK,EAC1B,KAAK,EAAE,KAAK,aAEZ,cAAK,SAAS,EAAC,QAAQ,YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAO,EAClD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAC1B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8EAA8E,EACxF,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,YAErC,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,CACV,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { type VariantProps } from "class-variance-authority";
|
|
|
3
3
|
declare const heading: (props?: ({
|
|
4
4
|
level?: 2 | 1 | 4 | 3 | 6 | 5 | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
-
export type HeadingProps = React.
|
|
6
|
+
export type HeadingProps = React.HTMLAttributes<HTMLHeadingElement> & VariantProps<typeof heading> & {
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
className?: string;
|
|
9
9
|
id?: string;
|
|
@@ -40,7 +40,7 @@ export const Layout = ({ children }) => {
|
|
|
40
40
|
minDuration: 500,
|
|
41
41
|
});
|
|
42
42
|
const [isDrawerOpen, setDrawerOpen] = useState(false);
|
|
43
|
-
return (_jsxs(_Fragment, { children: [import.meta.env.MODE === "standalone" && (_jsx("style", { children: `:root { --top-nav-height: 0px; }` })), _jsxs(Helmet, { titleTemplate: meta?.title, children: [meta?.description && (_jsx("meta", { name: "description", content: meta.description })), meta?.favicon && _jsx("link", { rel: "icon", href: meta.favicon })] }), _jsx(Slotlet, { name: "layout-before-head" }), _jsx(Header, {}), _jsx(Slotlet, { name: "layout-after-head" }), _jsx("div", { className: "w-full min-h-[calc(100vh-var(--header-height))] max-w-screen-2xl mx-auto px-4 lg:px-8 2xl:border-x", children: showSpinner ? (_jsx(LoadingFallback, {})) : (_jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsxs(Drawer, { direction: "left", open: isDrawerOpen, onOpenChange: (open) => setDrawerOpen(open), children: [_jsx(Sidebar, { onRequestClose: () => setDrawerOpen(false) }), _jsx("div", { className: cn("lg:hidden -mx-4 px-4 py-2 sticky bg-background/80 backdrop-blur z-10 top-0 left-0 right-0 border-b", "peer-data-[navigation=false]:hidden"), children: _jsxs(DrawerTrigger, { className: "flex items-center gap-2", children: [_jsx(PanelLeftIcon, { size: 16, strokeWidth: 1.5 }), _jsx("span", { className: "text-sm", children: "Menu" })] }) }), _jsxs("main", { className: cn("h-full dark:border-white/10 translate-x-0", "lg:overflow-visible",
|
|
43
|
+
return (_jsxs(_Fragment, { children: [import.meta.env.MODE === "standalone" && (_jsx("style", { children: `:root { --top-nav-height: 0px; }` })), _jsxs(Helmet, { titleTemplate: meta?.title, children: [meta?.description && (_jsx("meta", { name: "description", content: meta.description })), meta?.favicon && _jsx("link", { rel: "icon", href: meta.favicon })] }), _jsx(Slotlet, { name: "layout-before-head" }), _jsx(Header, {}), _jsx(Slotlet, { name: "layout-after-head" }), _jsx("div", { className: "w-full min-h-[calc(100vh-var(--header-height))] max-w-screen-2xl mx-auto px-4 lg:px-8 2xl:border-x", children: showSpinner ? (_jsx(LoadingFallback, {})) : (_jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsxs(Drawer, { direction: "left", open: isDrawerOpen, onOpenChange: (open) => setDrawerOpen(open), children: [_jsx(Sidebar, { onRequestClose: () => setDrawerOpen(false) }), _jsx("div", { className: cn("lg:hidden -mx-4 px-4 py-2 sticky bg-background/80 backdrop-blur z-10 top-0 left-0 right-0 border-b", "peer-data-[navigation=false]:hidden"), children: _jsxs(DrawerTrigger, { className: "flex items-center gap-2", children: [_jsx(PanelLeftIcon, { size: 16, strokeWidth: 1.5 }), _jsx("span", { className: "text-sm", children: "Menu" })] }) }), _jsxs("main", { "data-pagefind-body": true, className: cn("h-full dark:border-white/10 translate-x-0", "lg:overflow-visible",
|
|
44
44
|
// This works in tandem with the `SidebarWrapper` component
|
|
45
45
|
"lg:peer-data-[navigation=true]:w-[calc(100%-var(--side-nav-width))]", "lg:peer-data-[navigation=true]:translate-x-[--side-nav-width] lg:peer-data-[navigation=true]:pl-12"), children: [_jsx(Slotlet, { name: "zudoku-before-content" }), children ?? _jsx(Outlet, {}), _jsx(Slotlet, { name: "zudoku-after-content" })] })] }) })) })] }));
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC5B,eAAM,SAAS,EAAC,8DAA8D,YAC5E,KAAC,OAAO,KAAG,GACN,CACR,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAA4B,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAChD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IAE7C,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IAEjB,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,uCAAuC;QACvC,cAAc,EAAE,UAAU,EAAE,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACvD,eAAe,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAEzC,6GAA6G;IAC7G,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE;QAC7C,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,CACL,8BACG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CACxC,0BAAQ,kCAAkC,GAAS,CACpD,EACD,MAAC,MAAM,IAAC,aAAa,EAAE,IAAI,EAAE,KAAK,aAC/B,IAAI,EAAE,WAAW,IAAI,CACpB,eAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAI,CACvD,EACA,IAAI,EAAE,OAAO,IAAI,eAAM,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAI,IAClD,EACT,KAAC,OAAO,IAAC,IAAI,EAAC,oBAAoB,GAAG,EACrC,KAAC,MAAM,KAAG,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,mBAAmB,GAAG,EAEpC,cAAK,SAAS,EAAC,oGAAoG,YAChH,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,eAAe,KAAG,CACpB,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAC,eAAe,KAAG,YACrC,MAAC,MAAM,IACL,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,aAE3C,KAAC,OAAO,IAAC,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAI,EACvD,cACE,SAAS,EAAE,EAAE,CACX,oGAAoG,EACpG,qCAAqC,CACtC,YAED,MAAC,aAAa,IAAC,SAAS,EAAC,yBAAyB,aAChD,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,EAC7C,eAAM,SAAS,EAAC,SAAS,qBAAY,IACvB,GACZ,EACN,
|
|
1
|
+
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export const ThemeSwitch = () => {
|
|
|
8
8
|
const { resolvedTheme, setTheme } = useTheme();
|
|
9
9
|
return (_jsx(ClientOnly, { fallback: _jsx(Button, { variant: "ghost", size: "icon" }), children: _jsxs("button", { type: "button", className: "flex rounded-full border p-0.5 gap-0.5 group", onClick: () => setTheme(resolvedTheme === "dark" ? "light" : "dark"), "aria-label": resolvedTheme === "dark"
|
|
10
10
|
? "Switch to light mode"
|
|
11
|
-
: "Switch to dark mode", children: [_jsx("div", { className: cn("border border-transparent rounded-full p-0.5 [&>svg>circle]:transition-colors [&>svg>path]:transition-transform transition-all [&>svg>path]:duration-200 [&>svg>circle]:duration-500 [&>svg>circle]:fill-transparent", resolvedTheme === "light" && "border-border bg-muted
|
|
11
|
+
: "Switch to dark mode", children: [_jsx("div", { className: cn("border border-transparent rounded-full p-0.5 [&>svg>circle]:transition-colors [&>svg>path]:transition-transform transition-all [&>svg>path]:duration-200 [&>svg>circle]:duration-500 [&>svg>circle]:fill-transparent", resolvedTheme === "light" && "border-border bg-muted", resolvedTheme === "dark" &&
|
|
12
12
|
"group-hover:[&>svg>path]:scale-110 group-hover:[&>svg>path]:-translate-x-[1px] group-hover:[&>svg>path]:-translate-y-[1px] group-hover:rotate-[15deg] "), children: _jsx(SunIcon, { size: 16 }) }), _jsx("div", { className: cn("border border-transparent rounded-full p-0.5 transition-transform transform-gpu duration-500", resolvedTheme === "dark" &&
|
|
13
13
|
"border-border bg-muted [&>svg>path]:fill-white [&>svg>path]:stroke-transparent", resolvedTheme === "light" &&
|
|
14
14
|
"group-hover:rotate-[-10deg] [&>svg>path]:stroke-currentColor"), children: _jsx(MoonIcon, { size: 16 }) })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeSwitch.js","sourceRoot":"","sources":["../../../src/lib/components/ThemeSwitch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE/C,OAAO,CACL,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,GAAG,YAC1D,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8CAA8C,EACxD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,gBAElE,aAAa,KAAK,MAAM;gBACtB,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,qBAAqB,aAG3B,cACE,SAAS,EAAE,EAAE,CACX,sNAAsN,EACtN,aAAa,KAAK,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"ThemeSwitch.js","sourceRoot":"","sources":["../../../src/lib/components/ThemeSwitch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE/C,OAAO,CACL,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,GAAG,YAC1D,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8CAA8C,EACxD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,gBAElE,aAAa,KAAK,MAAM;gBACtB,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,qBAAqB,aAG3B,cACE,SAAS,EAAE,EAAE,CACX,sNAAsN,EACtN,aAAa,KAAK,OAAO,IAAI,wBAAwB,EACrD,aAAa,KAAK,MAAM;wBACtB,wJAAwJ,CAC3J,YAED,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,GACjB,EACN,cACE,SAAS,EAAE,EAAE,CACX,8FAA8F,EAC9F,aAAa,KAAK,MAAM;wBACtB,gFAAgF,EAClF,aAAa,KAAK,OAAO;wBACvB,8DAA8D,CACjE,YAED,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,IACC,GACE,CACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ZudokuContextOptions } from "../core/ZudokuContext.js";
|
|
1
|
+
import { type ZudokuContextOptions } from "../core/ZudokuContext.js";
|
|
2
2
|
import "../util/requestIdleCallbackPolyfill.js";
|
|
3
3
|
declare const Zudoku: {
|
|
4
4
|
(props: ZudokuContextOptions): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { MDXProvider } from "@mdx-js/react";
|
|
3
3
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
4
4
|
import { ThemeProvider } from "next-themes";
|
|
5
|
-
import {
|
|
5
|
+
import { memo, useContext, useEffect, useMemo, useState, } from "react";
|
|
6
6
|
import { ErrorBoundary } from "react-error-boundary";
|
|
7
7
|
import { Outlet, useNavigation } from "react-router";
|
|
8
8
|
import { hasHead, isMdxProviderPlugin } from "../core/plugins.js";
|
|
9
|
-
import { ZudokuContext } from "../core/ZudokuContext.js";
|
|
9
|
+
import { ZudokuContext, } from "../core/ZudokuContext.js";
|
|
10
10
|
import { TopLevelError } from "../errors/TopLevelError.js";
|
|
11
11
|
import { StaggeredRenderContext } from "../plugins/openapi/StaggeredRender.js";
|
|
12
12
|
import { MdxComponents } from "../util/MdxComponents.js";
|
|
13
13
|
import "../util/requestIdleCallbackPolyfill.js";
|
|
14
14
|
import { ComponentsProvider, DEFAULT_COMPONENTS, } from "./context/ComponentsContext.js";
|
|
15
|
+
import { RouterEventsEmitter } from "./context/RouterEventsEmitter.js";
|
|
15
16
|
import { ViewportAnchorProvider } from "./context/ViewportAnchorContext.js";
|
|
16
17
|
import { ZudokuProvider } from "./context/ZudokuProvider.js";
|
|
17
18
|
import { SlotletProvider } from "./SlotletProvider.js";
|
|
@@ -39,10 +40,10 @@ const ZudokoInner = memo(({ children, ...props }) => {
|
|
|
39
40
|
}, [didNavigate, navigation.location]);
|
|
40
41
|
const [zudokuContext] = useState(() => new ZudokuContext(props));
|
|
41
42
|
const heads = props.plugins
|
|
42
|
-
?.
|
|
43
|
+
?.flatMap((plugin) => (hasHead(plugin) ? (plugin.getHead?.() ?? []) : []))
|
|
43
44
|
// eslint-disable-next-line react/no-array-index-key
|
|
44
|
-
.map((
|
|
45
|
-
return (_jsxs(_Fragment, { children: [
|
|
45
|
+
.map((entry, i) => _jsx(Helmet, { children: entry }, i));
|
|
46
|
+
return (_jsxs(_Fragment, { children: [heads, _jsx(StaggeredRenderContext.Provider, { value: staggeredValue, children: _jsxs(ZudokuProvider, { context: zudokuContext, children: [_jsx(RouterEventsEmitter, {}), _jsx(MDXProvider, { components: mdxComponents, children: _jsx(ThemeProvider, { attribute: "class", disableTransitionOnChange: true, children: _jsx(ComponentsProvider, { value: components, children: _jsx(SlotletProvider, { slotlets: props.slotlets, children: _jsx(ViewportAnchorProvider, { children: children ?? _jsx(Outlet, {}) }) }) }) }) })] }) })] }));
|
|
46
47
|
});
|
|
47
48
|
ZudokoInner.displayName = "ZudokoInner";
|
|
48
49
|
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,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,
|
|
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 RouterEventsEmitter: () => null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
import { useLocation } from "react-router";
|
|
3
|
+
import { useZudoku } from "./ZudokuContext.js";
|
|
4
|
+
export const RouterEventsEmitter = () => {
|
|
5
|
+
const location = useLocation();
|
|
6
|
+
const zudoku = useZudoku();
|
|
7
|
+
const previousLocation = useRef(undefined);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
zudoku.emitEvent("location", {
|
|
10
|
+
from: previousLocation.current,
|
|
11
|
+
to: location,
|
|
12
|
+
});
|
|
13
|
+
previousLocation.current = location;
|
|
14
|
+
}, [zudoku, location]);
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=RouterEventsEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterEventsEmitter.js","sourceRoot":"","sources":["../../../../src/lib/components/context/RouterEventsEmitter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,gBAAgB,GAAG,MAAM,CAAuB,SAAS,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE;YAC3B,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,EAAE,EAAE,QAAQ;SACb,CAAC,CAAC;QACH,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC;IACtC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -19,7 +19,7 @@ export declare const BootstrapStatic: ({ router, context, queryClient, helmetCon
|
|
|
19
19
|
queryClient: import("@tanstack/react-query").QueryClient;
|
|
20
20
|
router: ReturnType<typeof import("react-router").createStaticRouter>;
|
|
21
21
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
-
export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element
|
|
22
|
+
export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element;
|
|
23
23
|
export declare const Head: typeof Helmet;
|
|
24
24
|
export declare const useZudoku: () => import("../core/ZudokuContext.js").ZudokuContext;
|
|
25
25
|
export declare const useAuth: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element
|
|
1
|
+
export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { matchPath, Outlet, useLocation } from "react-router";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { matchPath, Outlet, useLocation, useNavigate } from "react-router";
|
|
4
|
+
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "zudoku/ui/Dialog.js";
|
|
4
5
|
import { useAuth } from "../authentication/hook.js";
|
|
5
6
|
import { useZudoku } from "../components/context/ZudokuContext.js";
|
|
6
7
|
import { ZudokuError } from "../util/invariant.js";
|
|
@@ -8,18 +9,30 @@ import { useLatest } from "../util/useLatest.js";
|
|
|
8
9
|
export const RouteGuard = () => {
|
|
9
10
|
const auth = useAuth();
|
|
10
11
|
const zudoku = useZudoku();
|
|
12
|
+
const navigate = useNavigate();
|
|
11
13
|
const location = useLocation();
|
|
12
14
|
const latestPath = useLatest(location.pathname);
|
|
13
15
|
const isProtected = zudoku.options.protectedRoutes?.some((path) => matchPath({ path, end: true }, location.pathname));
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
useQuery({
|
|
17
|
+
queryKey: ["login-redirect"],
|
|
18
|
+
queryFn: async () => {
|
|
19
|
+
await new Promise((resolve) => setTimeout(resolve, 1200));
|
|
20
|
+
await zudoku.authentication?.signIn({
|
|
17
21
|
redirectTo: latestPath.current,
|
|
18
22
|
});
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
return true;
|
|
24
|
+
},
|
|
25
|
+
enabled: typeof window !== "undefined" &&
|
|
26
|
+
isProtected &&
|
|
27
|
+
!auth.isPending &&
|
|
28
|
+
!auth.isAuthenticated,
|
|
29
|
+
});
|
|
21
30
|
if (isProtected && !auth.isAuthenticated) {
|
|
22
|
-
return
|
|
31
|
+
return (_jsx(Dialog, { open: true, onOpenChange: (open) => {
|
|
32
|
+
if (!open) {
|
|
33
|
+
void navigate(-1);
|
|
34
|
+
}
|
|
35
|
+
}, children: _jsxs(DialogContent, { children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: "Logging you in..." }) }), _jsx(DialogDescription, { children: "Please wait while we log you in." })] }) }));
|
|
23
36
|
}
|
|
24
37
|
if (isProtected && !auth.isAuthEnabled) {
|
|
25
38
|
throw new ZudokuError("Authentication is not enabled", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../../src/lib/core/RouteGuard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RouteGuard.js","sourceRoot":"","sources":["../../../src/lib/core/RouteGuard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAClD,CAAC;IAEF,QAAQ,CAAC;QACP,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;gBAClC,UAAU,EAAE,UAAU,CAAC,OAAO;aAC/B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EACL,OAAO,MAAM,KAAK,WAAW;YAC7B,WAAW;YACX,CAAC,IAAI,CAAC,SAAS;YACf,CAAC,IAAI,CAAC,eAAe;KACxB,CAAC,CAAC;IAEH,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC,YAED,MAAC,aAAa,eACZ,KAAC,YAAY,cACX,KAAC,WAAW,oCAAgC,GAC/B,EACf,KAAC,iBAAiB,mDAEE,IACN,GACT,CACV,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,WAAW,CAAC,+BAA+B,EAAE;YACrD,KAAK,EAAE,+BAA+B;YACtC,aAAa,EACX,8DAA8D;SACjE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAC,MAAM,KAAG,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
|
+
import { Location } from "react-router";
|
|
2
3
|
import { TopNavigationItem } from "../../config/validators/common.js";
|
|
3
4
|
import type { SidebarConfig } from "../../config/validators/SidebarSchema.js";
|
|
4
5
|
import { type AuthenticationProvider } from "../authentication/authentication.js";
|
|
@@ -6,6 +7,12 @@ import type { ComponentsContextType } from "../components/context/ComponentsCont
|
|
|
6
7
|
import { Slotlets } from "../components/SlotletProvider.js";
|
|
7
8
|
import type { MdxComponentsType } from "../util/MdxComponents.js";
|
|
8
9
|
import { type ZudokuPlugin } from "./plugins.js";
|
|
10
|
+
export interface ZudokuEvents {
|
|
11
|
+
location: (event: {
|
|
12
|
+
from?: Location;
|
|
13
|
+
to: Location;
|
|
14
|
+
}) => void;
|
|
15
|
+
}
|
|
9
16
|
export interface ApiIdentity {
|
|
10
17
|
authorizeRequest: (request: Request) => Promise<Request> | Request;
|
|
11
18
|
label: string;
|
|
@@ -64,9 +71,12 @@ export declare class ZudokuContext {
|
|
|
64
71
|
page: ZudokuContextOptions["page"];
|
|
65
72
|
authentication?: ZudokuContextOptions["authentication"];
|
|
66
73
|
private readonly navigationPlugins;
|
|
74
|
+
private emitter;
|
|
67
75
|
constructor(options: ZudokuContextOptions);
|
|
68
76
|
initialize: () => Promise<void>;
|
|
69
77
|
getApiIdentities: () => Promise<ApiIdentity[]>;
|
|
78
|
+
addEventListener<E extends keyof ZudokuEvents>(event: E, callback: ZudokuEvents[E]): import("nanoevents").Unsubscribe;
|
|
79
|
+
emitEvent: <E extends keyof ZudokuEvents>(event: E, ...data: Parameters<ZudokuEvents[E]>) => void;
|
|
70
80
|
getPluginSidebar: (path: string) => Promise<import("../../config/validators/SidebarSchema.js").SidebarItem[]>;
|
|
71
81
|
signRequest: (request: Request) => Promise<Request>;
|
|
72
82
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { createNanoEvents } from "nanoevents";
|
|
1
2
|
import { joinPath } from "../util/joinPath.js";
|
|
2
|
-
import {
|
|
3
|
+
import { objectEntries } from "../util/objectEntries.js";
|
|
4
|
+
import { isApiIdentityPlugin, isEventConsumerPlugin, isNavigationPlugin, needsInitialization, } from "./plugins.js";
|
|
3
5
|
export class ZudokuContext {
|
|
4
6
|
options;
|
|
5
7
|
plugins;
|
|
@@ -9,6 +11,7 @@ export class ZudokuContext {
|
|
|
9
11
|
page;
|
|
10
12
|
authentication;
|
|
11
13
|
navigationPlugins;
|
|
14
|
+
emitter = createNanoEvents();
|
|
12
15
|
constructor(options) {
|
|
13
16
|
this.options = options;
|
|
14
17
|
this.plugins = options.plugins ?? [];
|
|
@@ -18,6 +21,13 @@ export class ZudokuContext {
|
|
|
18
21
|
this.authentication = options.authentication;
|
|
19
22
|
this.meta = options.metadata;
|
|
20
23
|
this.page = options.page;
|
|
24
|
+
this.plugins.forEach((plugin) => {
|
|
25
|
+
if (!isEventConsumerPlugin(plugin))
|
|
26
|
+
return;
|
|
27
|
+
objectEntries(plugin.events).forEach(([event, handler]) => {
|
|
28
|
+
this.emitter.on(event, handler);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
21
31
|
}
|
|
22
32
|
initialize = async () => {
|
|
23
33
|
await Promise.all(this.plugins
|
|
@@ -30,6 +40,12 @@ export class ZudokuContext {
|
|
|
30
40
|
.map((plugin) => plugin.getIdentities(this)));
|
|
31
41
|
return keys.flat();
|
|
32
42
|
};
|
|
43
|
+
addEventListener(event, callback) {
|
|
44
|
+
return this.emitter.on(event, callback);
|
|
45
|
+
}
|
|
46
|
+
emitEvent = (event, ...data) => {
|
|
47
|
+
return this.emitter.emit(event, ...data);
|
|
48
|
+
};
|
|
33
49
|
getPluginSidebar = async (path) => {
|
|
34
50
|
const navigations = await Promise.all(this.navigationPlugins.map((plugin) => plugin.getSidebar?.(joinPath(path))));
|
|
35
51
|
return navigations.flatMap((nav) => nav ?? []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../src/lib/core/ZudokuContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../src/lib/core/ZudokuContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { type ReactElement } from "react";
|
|
|
3
3
|
import { type RouteObject } from "react-router";
|
|
4
4
|
import type { Sidebar } from "../../config/validators/SidebarSchema.js";
|
|
5
5
|
import { MdxComponentsType } from "../util/MdxComponents.js";
|
|
6
|
-
import { ZudokuContext, type ApiIdentity } from "./ZudokuContext.js";
|
|
7
|
-
export type ZudokuPlugin = CommonPlugin | ProfileMenuPlugin | NavigationPlugin | ApiIdentityPlugin | SearchProviderPlugin;
|
|
6
|
+
import { ZudokuContext, ZudokuEvents, type ApiIdentity } from "./ZudokuContext.js";
|
|
7
|
+
export type ZudokuPlugin = CommonPlugin | ProfileMenuPlugin | NavigationPlugin | ApiIdentityPlugin | SearchProviderPlugin | EventConsumerPlugin;
|
|
8
8
|
export type { RouteObject };
|
|
9
9
|
export interface NavigationPlugin {
|
|
10
10
|
getRoutes: () => RouteObject[];
|
|
@@ -37,6 +37,12 @@ export interface CommonPlugin {
|
|
|
37
37
|
getHead?: () => ReactElement | undefined;
|
|
38
38
|
getMdxComponents?: () => MdxComponentsType;
|
|
39
39
|
}
|
|
40
|
+
export type EventConsumerPlugin<Event extends ZudokuEvents = ZudokuEvents> = {
|
|
41
|
+
events: {
|
|
42
|
+
[K in keyof Event]: Event[K];
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export declare const isEventConsumerPlugin: (obj: ZudokuPlugin) => obj is EventConsumerPlugin;
|
|
40
46
|
export declare const isProfileMenuPlugin: (obj: ZudokuPlugin) => obj is ProfileMenuPlugin;
|
|
41
47
|
export declare const isNavigationPlugin: (obj: ZudokuPlugin) => obj is NavigationPlugin;
|
|
42
48
|
export declare const isSearchPlugin: (obj: ZudokuPlugin) => obj is SearchProviderPlugin;
|
package/dist/lib/core/plugins.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const createApiIdentityPlugin = (plugin) => plugin;
|
|
2
2
|
export const createProfileMenuPlugin = (plugin) => plugin;
|
|
3
|
+
export const isEventConsumerPlugin = (obj) => "events" in obj && typeof obj.events === "object";
|
|
3
4
|
export const isProfileMenuPlugin = (obj) => "getProfileMenuItems" in obj && typeof obj.getProfileMenuItems === "function";
|
|
4
5
|
export const isNavigationPlugin = (obj) => "getRoutes" in obj && typeof obj.getRoutes === "function";
|
|
5
6
|
export const isSearchPlugin = (obj) => "renderSearch" in obj && typeof obj.renderSearch === "function";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/core/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/core/plugins.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,MAAyB,EACN,EAAE,CAAC,MAAM,CAAC;AAE/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,MAAyB,EACN,EAAE,CAAC,MAAM,CAAC;AAsC/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,GAAiB,EACW,EAAE,CAC9B,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAiB,EACS,EAAE,CAC5B,qBAAqB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,mBAAmB,KAAK,UAAU,CAAC;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,GAAiB,EACQ,EAAE,CAC3B,WAAW,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAiB,EACY,EAAE,CAC/B,cAAc,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAiB,EAAuB,EAAE,CAC5E,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAiB,EAAuB,EAAE,CAChE,SAAS,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAiB,EAAuB,EAAE,CAC5E,kBAAkB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,gBAAgB,KAAK,UAAU,CAAC;AAE1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAiB,EACS,EAAE,CAC5B,eAAe,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ZudokuEvents } from "../core/ZudokuContext.js";
|
|
2
|
+
type EventParameters<Event extends keyof ZudokuEvents> = Parameters<ZudokuEvents[Event]>;
|
|
3
|
+
/**
|
|
4
|
+
* Hook to subscribe to Zudoku events with automatic cleanup
|
|
5
|
+
* @param event The event to subscribe to
|
|
6
|
+
* @param callback Optional callback to be called when the event is emitted
|
|
7
|
+
* @returns The latest event data if no callback is provided, or the callback's return value if it returns something
|
|
8
|
+
*/
|
|
9
|
+
export declare function useEvent<E extends keyof ZudokuEvents>(event: E): EventParameters<E>;
|
|
10
|
+
export declare function useEvent<E extends keyof ZudokuEvents, R>(event: E, callback: (...args: EventParameters<E>) => R): R;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { useZudoku } from "../components/context/ZudokuContext.js";
|
|
3
|
+
export function useEvent(event, callback) {
|
|
4
|
+
const zudoku = useZudoku();
|
|
5
|
+
const [latestData, setLatestData] = useState();
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
return zudoku.addEventListener(event, ((...args) => {
|
|
8
|
+
if (callback) {
|
|
9
|
+
const result = callback(...args);
|
|
10
|
+
setLatestData(result);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
setLatestData(args);
|
|
14
|
+
}
|
|
15
|
+
}));
|
|
16
|
+
}, [zudoku, event, callback]);
|
|
17
|
+
return latestData;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEvent.js","sourceRoot":"","sources":["../../../src/lib/hooks/useEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAoBnE,MAAM,UAAU,QAAQ,CACtB,KAAQ,EACR,QAA6C;IAE7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAA0B,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAwB,EAAE,EAAE;YACrE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAoB,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|