zudoku 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/main.d.ts +1 -1
- package/dist/app/main.js +19 -7
- package/dist/app/main.js.map +1 -1
- package/dist/config/config.d.ts +1 -0
- package/dist/config/validators/InputSidebarSchema.d.ts +2 -2
- package/dist/config/validators/common.d.ts +78 -0
- package/dist/config/validators/common.js +6 -0
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +34 -0
- package/dist/lib/authentication/providers/auth0.js +1 -1
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +1 -1
- package/dist/lib/authentication/providers/openid.js +10 -6
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/components/AnchorLink.js +5 -2
- package/dist/lib/components/AnchorLink.js.map +1 -1
- package/dist/lib/components/Autocomplete.d.ts +12 -0
- package/dist/lib/components/Autocomplete.js +47 -0
- package/dist/lib/components/Autocomplete.js.map +1 -0
- package/dist/lib/components/Header.js +4 -4
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/Markdown.d.ts +2 -2
- package/dist/lib/components/Markdown.js +3 -1
- package/dist/lib/components/Markdown.js.map +1 -1
- package/dist/lib/components/StatusPage.d.ts +7 -0
- package/dist/lib/components/StatusPage.js +71 -0
- package/dist/lib/components/StatusPage.js.map +1 -0
- package/dist/lib/components/SyntaxHighlight.d.ts +2 -1
- package/dist/lib/components/SyntaxHighlight.js +2 -2
- package/dist/lib/components/SyntaxHighlight.js.map +1 -1
- package/dist/lib/components/ThemeSwitch.js +4 -4
- package/dist/lib/components/ThemeSwitch.js.map +1 -1
- package/dist/lib/components/cache.d.ts +6 -0
- package/dist/lib/components/cache.js +13 -0
- package/dist/lib/components/cache.js.map +1 -0
- package/dist/lib/components/context/ViewportAnchorContext.js +16 -4
- package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.js +2 -1
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/index.d.ts +9 -2
- package/dist/lib/components/index.js +5 -2
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/core/RouteGuard.d.ts +1 -0
- package/dist/lib/core/RouteGuard.js +28 -0
- package/dist/lib/core/RouteGuard.js.map +1 -0
- package/dist/lib/core/ZudokuContext.d.ts +4 -2
- package/dist/lib/core/ZudokuContext.js +9 -7
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/oas/graphql/circular.d.ts +3 -0
- package/dist/lib/oas/graphql/circular.js +27 -0
- package/dist/lib/oas/graphql/circular.js.map +1 -0
- package/dist/lib/oas/graphql/index.js +5 -6
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/oas/parser/dereference/index.d.ts +0 -1
- package/dist/lib/oas/parser/dereference/index.js +1 -1
- package/dist/lib/oas/parser/dereference/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +8 -2
- package/dist/lib/plugins/markdown/MdxPage.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 +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -2
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +3 -3
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +4 -11
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +7 -2
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +12 -0
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Headers.js +67 -4
- package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +5 -0
- package/dist/lib/plugins/openapi/playground/ParamsGrid.js +4 -0
- package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/PathParams.js +4 -12
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +18 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +53 -40
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js +21 -30
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/SubmitButton.d.ts +7 -0
- package/dist/lib/plugins/openapi/playground/SubmitButton.js +22 -0
- package/dist/lib/plugins/openapi/playground/SubmitButton.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.d.ts +7 -0
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +11 -0
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +8 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +95 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +7 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +16 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +10 -0
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +32 -0
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js +56 -0
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +2 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +5 -3
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +49 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeParameters.d.ts +10 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.js +66 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js +131 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
- package/dist/lib/ui/Command.d.ts +9 -1
- package/dist/lib/ui/Command.js +5 -1
- package/dist/lib/ui/Command.js.map +1 -1
- package/dist/lib/ui/Select.js +2 -2
- package/dist/lib/ui/Select.js.map +1 -1
- package/dist/lib/util/MdxComponents.js +2 -2
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/joinUrl.d.ts +1 -0
- package/dist/lib/util/joinUrl.js +40 -0
- package/dist/lib/util/joinUrl.js.map +1 -0
- package/dist/lib/util/useScrollToAnchor.d.ts +1 -0
- package/dist/lib/util/useScrollToAnchor.js +26 -15
- package/dist/lib/util/useScrollToAnchor.js.map +1 -1
- package/dist/vite/build.js +10 -10
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.js +4 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.js +4 -1
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/plugin-api.d.ts +1 -1
- package/dist/vite/plugin-api.js +31 -7
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.js +4 -1
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-mdx.js +9 -4
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/prerender.d.ts +2 -2
- package/dist/vite/prerender.js +5 -4
- package/dist/vite/prerender.js.map +1 -1
- package/dist/zuplo/enrich-with-zuplo.d.ts +5 -0
- package/dist/zuplo/enrich-with-zuplo.js +184 -0
- package/dist/zuplo/enrich-with-zuplo.js.map +1 -0
- package/dist/zuplo/env.d.ts +1 -0
- package/dist/zuplo/env.js +3 -0
- package/dist/zuplo/env.js.map +1 -1
- package/dist/zuplo/policy-types.d.ts +33 -0
- package/dist/zuplo/policy-types.js +8 -0
- package/dist/zuplo/policy-types.js.map +1 -0
- package/dist/zuplo/with-zuplo-processors.d.ts +3 -0
- package/dist/zuplo/with-zuplo-processors.js +26 -0
- package/dist/zuplo/with-zuplo-processors.js.map +1 -0
- package/dist/zuplo/with-zuplo.d.ts +1 -1
- package/dist/zuplo/with-zuplo.js +7 -26
- package/dist/zuplo/with-zuplo.js.map +1 -1
- package/lib/{AuthenticationPlugin-DNXBcsVN.js → AuthenticationPlugin-CO_YCd2x.js} +3 -3
- package/lib/{AuthenticationPlugin-DNXBcsVN.js.map → AuthenticationPlugin-CO_YCd2x.js.map} +1 -1
- package/lib/{Markdown-BrfrjEk_.js → Markdown-B8o9Qz4q.js} +1197 -1186
- package/lib/{Markdown-BrfrjEk_.js.map → Markdown-B8o9Qz4q.js.map} +1 -1
- package/lib/{MdxPage-LNZLj_A5.js → MdxPage-BxRt3Ly7.js} +63 -58
- package/lib/MdxPage-BxRt3Ly7.js.map +1 -0
- package/lib/OperationList-DH-zIgtq.js +5160 -0
- package/lib/OperationList-DH-zIgtq.js.map +1 -0
- package/lib/{Route-Pzk6qwIk.js → Route-DJ0ZlVq1.js} +3 -3
- package/lib/{Route-Pzk6qwIk.js.map → Route-DJ0ZlVq1.js.map} +1 -1
- package/lib/{Select-DkOpAG0c.js → Select-B7UXR0SB.js} +61 -61
- package/lib/Select-B7UXR0SB.js.map +1 -0
- package/lib/{SlotletProvider-DPbx9KdU.js → SlotletProvider-CtIp8rP3.js} +4 -4
- package/lib/{SlotletProvider-DPbx9KdU.js.map → SlotletProvider-CtIp8rP3.js.map} +1 -1
- package/lib/{Button-oroWHXAy.js → Spinner-BlzrEEk1.js} +15 -12
- package/lib/Spinner-BlzrEEk1.js.map +1 -0
- package/lib/{SyntaxHighlight-CJCSPG1F.js → SyntaxHighlight-C1w1QPdY.js} +300 -295
- package/lib/{SyntaxHighlight-CJCSPG1F.js.map → SyntaxHighlight-C1w1QPdY.js.map} +1 -1
- package/lib/{ZudokuContext-D3ayHjP-.js → ZudokuContext-8jts0fF3.js} +259 -248
- package/lib/ZudokuContext-8jts0fF3.js.map +1 -0
- package/lib/{chunk-SYFQ2XB5-KWlHsT7t.js → chunk-SYFQ2XB5-BPvC-soB.js} +6 -5
- package/lib/{chunk-SYFQ2XB5-KWlHsT7t.js.map → chunk-SYFQ2XB5-BPvC-soB.js.map} +1 -1
- package/lib/circular-Dgpd6AN-.js +15397 -0
- package/lib/circular-Dgpd6AN-.js.map +1 -0
- package/lib/{createServer-BcaswoFO.js → createServer-BV0tHzLK.js} +3450 -5577
- package/lib/createServer-BV0tHzLK.js.map +1 -0
- package/lib/{hook-DUyACbIK.js → hook-BG02esyv.js} +2 -2
- package/lib/{hook-DUyACbIK.js.map → hook-BG02esyv.js.map} +1 -1
- package/lib/index-B7mqiOei.js +509 -0
- package/lib/index-B7mqiOei.js.map +1 -0
- package/lib/index-DmqsUPcm.js +1915 -0
- package/lib/index-DmqsUPcm.js.map +1 -0
- package/lib/joinUrl-BTy9bvoK.js +20 -0
- package/lib/joinUrl-BTy9bvoK.js.map +1 -0
- package/lib/post-processors/removeExtensions.js +7 -7
- package/lib/post-processors/removeExtensions.js.map +1 -1
- package/lib/post-processors/removeParameters.js +48 -0
- package/lib/post-processors/removeParameters.js.map +1 -0
- package/lib/ui/ActionButton.js +10 -11
- package/lib/ui/ActionButton.js.map +1 -1
- package/lib/ui/Command.js +125 -13
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Select.js +2 -2
- package/lib/ui/Select.js.map +1 -1
- package/lib/{useExposedProps-BBHR7aLM.js → useExposedProps-BLKFBylA.js} +2 -2
- package/lib/{useExposedProps-BBHR7aLM.js.map → useExposedProps-BLKFBylA.js.map} +1 -1
- package/lib/useScrollToAnchor-Bl6mz9_x.js +288 -0
- package/lib/useScrollToAnchor-Bl6mz9_x.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +7 -9
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +1 -1
- package/lib/zudoku.auth-openid.js +223 -219
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +754 -992
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +3 -3
- package/lib/zudoku.plugin-api-keys.js +5 -5
- package/lib/zudoku.plugin-custom-pages.js +2 -2
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +4 -4
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/package.json +2 -2
- package/src/app/main.css +50 -50
- package/src/app/main.tsx +26 -7
- package/src/lib/authentication/providers/auth0.tsx +1 -4
- package/src/lib/authentication/providers/openid.tsx +12 -5
- package/src/lib/components/AnchorLink.tsx +5 -2
- package/src/lib/components/Autocomplete.tsx +111 -0
- package/src/lib/components/Header.tsx +4 -4
- package/src/lib/components/Markdown.tsx +14 -15
- package/src/lib/components/StatusPage.tsx +91 -0
- package/src/lib/components/SyntaxHighlight.tsx +14 -0
- package/src/lib/components/ThemeSwitch.tsx +14 -15
- package/src/lib/components/cache.ts +15 -0
- package/src/lib/components/context/ViewportAnchorContext.tsx +20 -6
- package/src/lib/components/context/ZudokuContext.ts +3 -1
- package/src/lib/components/index.ts +9 -2
- package/src/lib/core/RouteGuard.tsx +35 -0
- package/src/lib/core/ZudokuContext.ts +9 -8
- package/src/lib/oas/graphql/circular.ts +29 -0
- package/src/lib/oas/graphql/index.ts +9 -9
- package/src/lib/oas/parser/dereference/index.ts +1 -2
- package/src/lib/plugins/markdown/MdxPage.tsx +9 -1
- package/src/lib/plugins/openapi/OperationListItem.tsx +0 -2
- package/src/lib/plugins/openapi/ParameterListItem.tsx +1 -0
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +5 -0
- package/src/lib/plugins/openapi/Sidecar.tsx +4 -2
- package/src/lib/plugins/openapi/index.tsx +9 -15
- package/src/lib/plugins/openapi/interfaces.ts +10 -2
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +54 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +136 -39
- package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +8 -0
- package/src/lib/plugins/openapi/playground/PathParams.tsx +34 -74
- package/src/lib/plugins/openapi/playground/Playground.tsx +219 -177
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +90 -122
- package/src/lib/plugins/openapi/playground/SubmitButton.tsx +75 -0
- package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +73 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +210 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +101 -0
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.test.ts +64 -0
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -0
- package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +58 -0
- package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +7 -4
- package/src/lib/plugins/openapi/post-processors/removeParameters.test.ts +148 -0
- package/src/lib/plugins/openapi/post-processors/removeParameters.ts +101 -0
- package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +1 -1
- package/src/lib/ui/Command.tsx +20 -0
- package/src/lib/ui/Select.tsx +1 -1
- package/src/lib/util/MdxComponents.tsx +2 -1
- package/src/lib/util/joinUrl.ts +57 -0
- package/src/lib/util/useScrollToAnchor.ts +32 -15
- package/dist/lib/plugins/openapi/playground/EnumSelector.d.ts +0 -8
- package/dist/lib/plugins/openapi/playground/EnumSelector.js +0 -21
- package/dist/lib/plugins/openapi/playground/EnumSelector.js.map +0 -1
- package/dist/lib/plugins/openapi/playground/ResponseTab.d.ts +0 -4
- package/dist/lib/plugins/openapi/playground/ResponseTab.js +0 -42
- package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +0 -1
- package/lib/AnchorLink-_Vu02ceN.js +0 -34
- package/lib/AnchorLink-_Vu02ceN.js.map +0 -1
- package/lib/Button-oroWHXAy.js.map +0 -1
- package/lib/Command-D5DE0DD7.js +0 -611
- package/lib/Command-D5DE0DD7.js.map +0 -1
- package/lib/MdxPage-LNZLj_A5.js.map +0 -1
- package/lib/OperationList-PCwzTp1r.js +0 -5144
- package/lib/OperationList-PCwzTp1r.js.map +0 -1
- package/lib/Select-DkOpAG0c.js.map +0 -1
- package/lib/Spinner-C5gHXrVz.js +0 -7
- package/lib/Spinner-C5gHXrVz.js.map +0 -1
- package/lib/ZudokuContext-D3ayHjP-.js.map +0 -1
- package/lib/createServer-BcaswoFO.js.map +0 -1
- package/lib/index-CaILD1AV.js +0 -1292
- package/lib/index-CaILD1AV.js.map +0 -1
- package/lib/index-TaRXY2w1.js +0 -43
- package/lib/index-TaRXY2w1.js.map +0 -1
- package/src/lib/plugins/openapi/playground/EnumSelector.tsx +0 -86
- package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -76
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Link, useLocation } from "react-router";
|
|
3
|
+
import { useScrollToHash } from "../util/useScrollToAnchor.js";
|
|
3
4
|
/**
|
|
4
5
|
* Link that scrolls to anchor even if the hash is already set in the URL.
|
|
5
6
|
*/
|
|
6
7
|
export const AnchorLink = (props) => {
|
|
7
8
|
const location = useLocation();
|
|
9
|
+
const scrollToHash = useScrollToHash();
|
|
8
10
|
const hash = typeof props.to === "string" ? props.to : props.to.hash;
|
|
9
11
|
const handleClick = (event) => {
|
|
12
|
+
props.onClick?.(event);
|
|
10
13
|
if (!hash?.startsWith("#") || hash !== location.hash)
|
|
11
14
|
return;
|
|
12
15
|
event.preventDefault();
|
|
13
|
-
|
|
16
|
+
scrollToHash(hash);
|
|
14
17
|
};
|
|
15
|
-
return _jsx(Link, { onClick: handleClick
|
|
18
|
+
return _jsx(Link, { ...props, onClick: handleClick });
|
|
16
19
|
};
|
|
17
20
|
//# sourceMappingURL=AnchorLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchorLink.js","sourceRoot":"","sources":["../../../src/lib/components/AnchorLink.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAkB,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AnchorLink.js","sourceRoot":"","sources":["../../../src/lib/components/AnchorLink.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAkB,WAAW,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,EAAE;IAC7C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;IAErE,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,EAAE;QACjE,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI;YAAE,OAAO;QAE7D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,KAAC,IAAI,OAAK,KAAK,EAAE,OAAO,EAAE,WAAW,GAAI,CAAC;AACnD,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Ref } from "react";
|
|
2
|
+
type AutocompleteProps = {
|
|
3
|
+
value: string;
|
|
4
|
+
options: readonly string[];
|
|
5
|
+
onChange: (e: string) => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
onEnterPress?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
9
|
+
ref?: Ref<HTMLInputElement>;
|
|
10
|
+
};
|
|
11
|
+
export declare const Autocomplete: (props: AutocompleteProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PopoverAnchor } from "@radix-ui/react-popover";
|
|
3
|
+
import { useCommandState } from "cmdk";
|
|
4
|
+
import { useRef, useState } from "react";
|
|
5
|
+
import { Command, CommandInlineInput, CommandItem, CommandList, } from "zudoku/ui/Command.js";
|
|
6
|
+
import { Popover, PopoverContent } from "zudoku/ui/Popover.js";
|
|
7
|
+
import { cn } from "../util/cn.js";
|
|
8
|
+
const AutocompletePopover = ({ value, options, onChange, className, placeholder = "Enter value", onEnterPress, ref, }) => {
|
|
9
|
+
const [open, setOpen] = useState(false);
|
|
10
|
+
const [dontClose, setDontClose] = useState(false);
|
|
11
|
+
const count = useCommandState((state) => state.filtered.count);
|
|
12
|
+
const inputRef = useRef(null);
|
|
13
|
+
return (_jsxs(Popover, { open: open, children: [_jsx(PopoverAnchor, { children: _jsx(CommandInlineInput, { ref: (el) => {
|
|
14
|
+
inputRef.current = el;
|
|
15
|
+
if (typeof ref === "function") {
|
|
16
|
+
ref(el);
|
|
17
|
+
}
|
|
18
|
+
else if (ref) {
|
|
19
|
+
ref.current = el;
|
|
20
|
+
}
|
|
21
|
+
}, value: value, placeholder: placeholder, className: cn("h-9 bg-transparent", className), onFocus: () => setOpen(true), onBlur: () => {
|
|
22
|
+
if (dontClose) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
setOpen(false);
|
|
26
|
+
}, onKeyDown: (e) => {
|
|
27
|
+
if (e.key === "Enter") {
|
|
28
|
+
setOpen(false);
|
|
29
|
+
inputRef.current?.blur();
|
|
30
|
+
onEnterPress?.(e);
|
|
31
|
+
}
|
|
32
|
+
}, onValueChange: (e) => onChange(e) }) }), _jsx(PopoverContent, { onMouseEnter: () => setDontClose(true), onMouseLeave: () => setDontClose(false), onOpenAutoFocus: (e) => e.preventDefault(), className: cn("p-0 w-[--radix-popover-trigger-width]", {
|
|
33
|
+
"border-0": count === 0,
|
|
34
|
+
}), align: "start", side: "bottom", onWheel: (e) => {
|
|
35
|
+
// See: https://github.com/radix-ui/primitives/issues/1159
|
|
36
|
+
e.stopPropagation();
|
|
37
|
+
}, onTouchMove: (e) => {
|
|
38
|
+
e.stopPropagation();
|
|
39
|
+
}, children: _jsx(CommandList, { className: "max-h-[140px]", children: options.map((enumValue) => (_jsx(CommandItem, { value: enumValue, onSelect: (selected) => {
|
|
40
|
+
onChange(selected);
|
|
41
|
+
setOpen(false);
|
|
42
|
+
}, className: "cursor-pointer", children: enumValue }, enumValue))) }) })] }));
|
|
43
|
+
};
|
|
44
|
+
export const Autocomplete = (props) => {
|
|
45
|
+
return (_jsx(Command, { className: "bg-transparent", children: _jsx(AutocompletePopover, { ...props }) }));
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=Autocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sourceRoot":"","sources":["../../../src/lib/components/Autocomplete.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { Skeleton } from "zudoku/ui/Skeleton.js";
|
|
|
6
6
|
import { useAuth } from "../authentication/hook.js";
|
|
7
7
|
import { isProfileMenuPlugin } from "../core/plugins.js";
|
|
8
8
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "../ui/DropdownMenu.js";
|
|
9
|
-
import {
|
|
9
|
+
import { joinUrl } from "../util/joinUrl.js";
|
|
10
10
|
import { Banner } from "./Banner.js";
|
|
11
11
|
import { ClientOnly } from "./ClientOnly.js";
|
|
12
12
|
import { useZudoku } from "./context/ZudokuContext.js";
|
|
@@ -31,9 +31,9 @@ export const Header = memo(function HeaderInner() {
|
|
|
31
31
|
.sort((i) => i.weight ?? 0);
|
|
32
32
|
return (_jsxs("header", { className: "sticky lg:top-0 z-10 bg-background/80 backdrop-blur w-full", children: [_jsx(Banner, {}), _jsx("div", { className: "border-b", children: _jsxs("div", { className: "max-w-screen-2xl border-l border-r mx-auto grid grid-cols-[1fr_auto] lg:grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center px-4 lg:px-12 h-[--top-header-height]", children: [_jsx("div", { className: "flex", children: _jsx(Link, { to: "/", children: _jsxs("div", { className: "flex items-center gap-3.5", children: [page?.logo && (_jsxs(_Fragment, { children: [_jsx("img", { src: /https?:\/\//.test(page.logo.src.light)
|
|
33
33
|
? page.logo.src.light
|
|
34
|
-
:
|
|
34
|
+
: joinUrl(import.meta.env.BASE_URL, page.logo.src.light), alt: page.logo.alt ?? page.pageTitle, style: { width: page.logo.width }, className: "h-10 dark:hidden", loading: "lazy" }), _jsx("img", { src: /https?:\/\//.test(page.logo.src.dark)
|
|
35
35
|
? page.logo.src.dark
|
|
36
|
-
:
|
|
36
|
+
: joinUrl(import.meta.env.BASE_URL, page.logo.src.dark), alt: page.logo.alt ?? page.pageTitle, style: { width: page.logo.width }, className: "h-10 hidden dark:block", loading: "lazy" })] })), _jsx("span", { className: "font-bold text-2xl text-foreground/85 tracking-wide", children: page?.pageTitle })] }) }) }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[--sidecar-grid-cols] items-center gap-8", children: [_jsx("div", { className: "w-full justify-center hidden lg:flex", children: _jsx(Search, {}) }), _jsx(MobileTopNavigation, {}), _jsxs("div", { className: "hidden lg:flex items-center justify-self-end text-sm gap-2", children: [_jsx(Slotlet, { name: "head-navigation-start" }), isAuthEnabled && (_jsx(ClientOnly, { fallback: _jsx(Skeleton, { className: "rounded h-5 w-24 mr-4" }), children: !isAuthenticated ? (_jsx(Button, { variant: "ghost", onClick: () => auth.login(), children: "Login" })) : (Object.values(accountItems).length > 0 && (_jsxs(DropdownMenu, { modal: false, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", children: profile?.name ? `${profile.name}` : "My Account" }) }), _jsxs(DropdownMenuContent, { className: "w-56", children: [_jsxs(DropdownMenuLabel, { children: [profile?.name ? `${profile.name}` : "My Account", profile?.email && (_jsx("div", { className: "font-normal text-muted-foreground", children: profile.email }))] }), accountItems.filter((i) => i.category === "top")
|
|
37
37
|
.length > 0 && _jsx(DropdownMenuSeparator, {}), accountItems
|
|
38
38
|
.filter((i) => i.category === "top")
|
|
39
39
|
.map((i) => (_jsx(RecursiveMenu, { item: i }, i.label))), accountItems.filter((i) => !i.category || i.category === "middle").length > 0 && _jsx(DropdownMenuSeparator, {}), accountItems
|
|
@@ -41,6 +41,6 @@ export const Header = memo(function HeaderInner() {
|
|
|
41
41
|
.map((i) => (_jsx(RecursiveMenu, { item: i }, i.label))), accountItems.filter((i) => i.category === "bottom")
|
|
42
42
|
.length > 0 && _jsx(DropdownMenuSeparator, {}), accountItems
|
|
43
43
|
.filter((i) => i.category === "bottom")
|
|
44
|
-
.map((i) => (_jsx(RecursiveMenu, { item: i }, i.label)))] })] }))) })), _jsx(
|
|
44
|
+
.map((i) => (_jsx(RecursiveMenu, { item: i }, i.label)))] })] }))) })), _jsx(Slotlet, { name: "head-navigation-end" }), _jsx(ThemeSwitch, {})] })] })] }) }), _jsx("div", { className: "border-b", children: _jsxs("div", { className: "max-w-screen-2xl mx-auto border-l border-r", children: [_jsx(Slotlet, { name: "top-navigation-before" }), _jsx(TopNavigation, {}), _jsx(Slotlet, { name: "top-navigation-after" })] }) })] }));
|
|
45
45
|
});
|
|
46
46
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { type ReactNode } from "react";
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
3
|
declare const heading: (props?: ({
|
|
4
|
-
level?:
|
|
4
|
+
level?: 2 | 1 | 4 | 3 | 6 | 5 | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
export type HeadingProps = React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof heading> & {
|
|
7
7
|
children: ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const ProseClasses = "prose dark:prose-invert prose-neutral";
|
|
2
|
-
export declare const Markdown: ({ content, className
|
|
2
|
+
export declare const Markdown: import("react").MemoExoticComponent<({ content, className }: {
|
|
3
3
|
content: string;
|
|
4
4
|
className?: string;
|
|
5
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from "react";
|
|
2
3
|
import rehypeRaw from "rehype-raw";
|
|
3
4
|
import remarkGfm from "remark-gfm";
|
|
4
5
|
import { visit } from "unist-util-visit";
|
|
@@ -17,5 +18,6 @@ const remarkPlugins = [remarkGfm];
|
|
|
17
18
|
const rehypePlugins = [rehypeCodeBlockPlugin, rehypeRaw];
|
|
18
19
|
// other styles are defined in main.css .prose
|
|
19
20
|
export const ProseClasses = "prose dark:prose-invert prose-neutral";
|
|
20
|
-
export const Markdown = ({ content, className
|
|
21
|
+
export const Markdown = memo(({ content, className }) => (_jsx(ReactMarkdown, { remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, components: MdxComponents, className: className, children: content })));
|
|
22
|
+
Markdown.displayName = "Markdown";
|
|
21
23
|
//# sourceMappingURL=Markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/lib/components/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mDAAmD;AACnD,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAEzD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,uCAAuC,CAAC;AAEpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/lib/components/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mDAAmD;AACnD,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAEzD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,uCAAuC,CAAC;AAEpE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAC1B,CAAC,EAAE,OAAO,EAAE,SAAS,EAA2C,EAAE,EAAE,CAAC,CACnE,KAAC,aAAa,IACZ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,SAAS,YAEnB,OAAO,GACM,CACjB,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ErrorPage } from "./ErrorPage.js";
|
|
3
|
+
const getDefaultContent = (statusCode) => {
|
|
4
|
+
switch (statusCode) {
|
|
5
|
+
case 400:
|
|
6
|
+
return {
|
|
7
|
+
title: "Bad Request",
|
|
8
|
+
message: "The request could not be understood by the server due to malformed syntax.",
|
|
9
|
+
};
|
|
10
|
+
case 403:
|
|
11
|
+
return {
|
|
12
|
+
title: "Forbidden",
|
|
13
|
+
message: "You don't have permission to access this resource.",
|
|
14
|
+
};
|
|
15
|
+
case 404:
|
|
16
|
+
return {
|
|
17
|
+
title: "Not Found",
|
|
18
|
+
message: "The requested resource could not be found.",
|
|
19
|
+
};
|
|
20
|
+
case 405:
|
|
21
|
+
return {
|
|
22
|
+
title: "Method Not Allowed",
|
|
23
|
+
message: "The request method is not supported for the requested resource.",
|
|
24
|
+
};
|
|
25
|
+
case 414:
|
|
26
|
+
return {
|
|
27
|
+
title: "Request URI Too Large",
|
|
28
|
+
message: "The request URI is too large.",
|
|
29
|
+
};
|
|
30
|
+
case 416:
|
|
31
|
+
return {
|
|
32
|
+
title: "Range Not Satisfiable",
|
|
33
|
+
message: "The server cannot satisfy the request range.",
|
|
34
|
+
};
|
|
35
|
+
case 500:
|
|
36
|
+
return {
|
|
37
|
+
title: "Internal Server Error",
|
|
38
|
+
message: "An unexpected error occurred while processing your request.",
|
|
39
|
+
};
|
|
40
|
+
case 501:
|
|
41
|
+
return {
|
|
42
|
+
title: "Not Implemented",
|
|
43
|
+
message: "The server does not support the functionality required to fulfill the request.",
|
|
44
|
+
};
|
|
45
|
+
case 502:
|
|
46
|
+
return {
|
|
47
|
+
title: "Bad Gateway",
|
|
48
|
+
message: "The server received an invalid response from the upstream server.",
|
|
49
|
+
};
|
|
50
|
+
case 503:
|
|
51
|
+
return {
|
|
52
|
+
title: "Service Unavailable",
|
|
53
|
+
message: "The server is temporarily unable to handle the request.",
|
|
54
|
+
};
|
|
55
|
+
case 504:
|
|
56
|
+
return {
|
|
57
|
+
title: "Gateway Timeout",
|
|
58
|
+
message: "The server did not receive a timely response from the upstream server.",
|
|
59
|
+
};
|
|
60
|
+
default:
|
|
61
|
+
return {
|
|
62
|
+
title: "An error occurred",
|
|
63
|
+
message: "Something went wrong while processing your request.",
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
export const StatusPage = ({ statusCode, message }) => {
|
|
68
|
+
const defaultContent = getDefaultContent(statusCode);
|
|
69
|
+
return (_jsx(ErrorPage, { title: defaultContent.title, message: message ?? defaultContent.message, category: statusCode }));
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=StatusPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPage.js","sourceRoot":"","sources":["../../../src/lib/components/StatusPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,MAAM,iBAAiB,GAAG,CACxB,UAAkB,EACkB,EAAE;IACtC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,OAAO,EACL,4EAA4E;aAC/E,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,oDAAoD;aAC9D,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,4CAA4C;aACtD,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,oBAAoB;gBAC3B,OAAO,EACL,iEAAiE;aACpE,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,+BAA+B;aACzC,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,8CAA8C;aACxD,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,6DAA6D;aACvE,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EACL,gFAAgF;aACnF,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,OAAO,EACL,mEAAmE;aACtE,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,qBAAqB;gBAC5B,OAAO,EAAE,yDAAyD;aACnE,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EACL,wEAAwE;aAC3E,CAAC;QACJ;YACE,OAAO;gBACL,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE,qDAAqD;aAC/D,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAmB,EAAE,EAAE;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAErD,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,cAAc,CAAC,KAAK,EAC3B,OAAO,EAAE,OAAO,IAAI,cAAc,CAAC,OAAO,EAC1C,QAAQ,EAAE,UAAU,GACpB,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -6,6 +6,7 @@ type SyntaxHighlightProps = {
|
|
|
6
6
|
copyable?: boolean;
|
|
7
7
|
showLanguageIndicator?: boolean;
|
|
8
8
|
language?: string;
|
|
9
|
+
title?: string;
|
|
9
10
|
} & Omit<HighlightProps, "children" | "language">;
|
|
10
|
-
export declare const SyntaxHighlight: ({ copyable, language, ...props }: SyntaxHighlightProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export declare const SyntaxHighlight: ({ copyable, language, title, ...props }: SyntaxHighlightProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
11
12
|
export {};
|
|
@@ -29,7 +29,7 @@ import { ClientOnly } from "./ClientOnly.js";
|
|
|
29
29
|
const remapLang = {
|
|
30
30
|
mdx: "md",
|
|
31
31
|
};
|
|
32
|
-
export const SyntaxHighlight = ({ copyable = true, language = "plain", ...props }) => {
|
|
32
|
+
export const SyntaxHighlight = ({ copyable = true, language = "plain", title, ...props }) => {
|
|
33
33
|
const { resolvedTheme } = useTheme();
|
|
34
34
|
const [isCopied, setIsCopied] = useState(false);
|
|
35
35
|
if (!props.code) {
|
|
@@ -38,7 +38,7 @@ export const SyntaxHighlight = ({ copyable = true, language = "plain", ...props
|
|
|
38
38
|
const highlightTheme = resolvedTheme === "dark" ? themes.vsDark : themes.github;
|
|
39
39
|
// hardcoded values from the themes to avoid color flash in SSR
|
|
40
40
|
const themeColorClasses = "bg-[#f6f8fa] text-[#393a34] dark:bg-[#1e1e1e] dark:text-[#9cdcfe]";
|
|
41
|
-
return (_jsx(ClientOnly, { fallback: _jsxs("div", { className: "relative group", children: [_jsx("pre", { className: cn("relative scrollbar overflow-x-auto", props.className, props.noBackground ? "!bg-transparent" : themeColorClasses, props.wrapLines && "whitespace-pre-wrap break-words"), children: props.code }), props.showLanguageIndicator && (_jsx("span", { className: "absolute top-1.5 right-3 text-[11px] font-mono text-muted-foreground transition group-hover:opacity-0", children: language }))] }), children: _jsx(Highlight, { theme: highlightTheme, language: remapLang[language] ?? language, ...props, children: ({ className, style, tokens, getLineProps, getTokenProps }) => (_jsxs("div", { className: "relative group", children: [_jsx("pre", { className: cn("relative scrollbar overflow-x-auto", className, props.className, props.noBackground && "!bg-transparent", props.wrapLines && "whitespace-pre-wrap break-words"), style: style, children: tokens.map((line, i) => (
|
|
41
|
+
return (_jsx(ClientOnly, { fallback: _jsxs("div", { className: "relative group", children: [title && (_jsx("div", { className: "text-xs text-muted-foreground absolute top-2 font-mono border-b w-full pb-2 px-4 ", children: title })), _jsx("pre", { className: cn("relative scrollbar overflow-x-auto", props.className, props.noBackground ? "!bg-transparent" : themeColorClasses, props.wrapLines && "whitespace-pre-wrap break-words", title && "pt-10"), children: props.code }), props.showLanguageIndicator && (_jsx("span", { className: "absolute top-1.5 right-3 text-[11px] font-mono text-muted-foreground transition group-hover:opacity-0", children: language }))] }), children: _jsx(Highlight, { theme: highlightTheme, language: remapLang[language] ?? language, ...props, children: ({ className, style, tokens, getLineProps, getTokenProps }) => (_jsxs("div", { className: "relative group", children: [title && (_jsx("div", { className: "text-xs text-muted-foreground absolute top-2 font-mono border-b w-full pb-2 px-4 ", children: title })), _jsx("pre", { className: cn("relative scrollbar overflow-x-auto", className, props.className, props.noBackground && "!bg-transparent", props.wrapLines && "whitespace-pre-wrap break-words", title && "pt-10"), style: style, children: tokens.map((line, i) => (
|
|
42
42
|
// eslint-disable-next-line react/no-array-index-key
|
|
43
43
|
_jsx("div", { ...getLineProps({ line }), children: line.map((token, key) => (
|
|
44
44
|
// eslint-disable-next-line react/no-array-index-key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyntaxHighlight.js","sourceRoot":"","sources":["../../../src/lib/components/SyntaxHighlight.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,MAAM,GAEP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,mCAAmC;AACnC,KAAK,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACpD,mCAAmC;AACnC,KAAK,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACpD,mCAAmC;AACnC,KAAK,MAAM,CAAC,oCAAoC,CAAC,CAAC;AAClD,mCAAmC;AACnC,KAAK,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACpD,mCAAmC;AACnC,KAAK,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACpD,mCAAmC;AACnC,KAAK,MAAM,CAAC,wCAAwC,CAAC,CAAC;AACtD,mCAAmC;AACnC,KAAK,MAAM,CAAC,4CAA4C,CAAC,CAAC;AAC1D,mCAAmC;AACnC,KAAK,MAAM,CAAC,0CAA0C,CAAC,CAAC;AACxD,mCAAmC;AACnC,KAAK,MAAM,CAAC,4CAA4C,CAAC,CAAC;AAC1D,mCAAmC;AACnC,KAAK,MAAM,CAAC,4CAA4C,CAAC,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SyntaxHighlight.js","sourceRoot":"","sources":["../../../src/lib/components/SyntaxHighlight.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { MoonStarIcon, SunIcon } from "lucide-react";
|
|
3
3
|
import { useTheme } from "next-themes";
|
|
4
4
|
import { Button } from "zudoku/ui/Button.js";
|
|
5
|
-
import {
|
|
5
|
+
import { cn } from "../util/cn.js";
|
|
6
6
|
export const ThemeSwitch = () => {
|
|
7
7
|
const { resolvedTheme, setTheme } = useTheme();
|
|
8
8
|
const ThemeIcon = resolvedTheme === "dark" ? MoonStarIcon : SunIcon;
|
|
9
|
-
return (_jsx(
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
return (_jsx(Button, { variant: "ghost", size: "icon", "aria-label": resolvedTheme === "dark"
|
|
10
|
+
? "Switch to light mode"
|
|
11
|
+
: "Switch to dark mode", className: cn(resolvedTheme ? "opacity-100" : "opacity-0"), onClick: () => setTheme(resolvedTheme === "dark" ? "light" : "dark"), children: _jsx(ThemeIcon, { size: 18 }) }));
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=ThemeSwitch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeSwitch.js","sourceRoot":"","sources":["../../../src/lib/components/ThemeSwitch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ThemeSwitch.js","sourceRoot":"","sources":["../../../src/lib/components/ThemeSwitch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAEpE,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,gBAET,aAAa,KAAK,MAAM;YACtB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,qBAAqB,EAE3B,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAEpE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useQueryClient } from "@tanstack/react-query";
|
|
2
|
+
export const CACHE_KEYS = Object.freeze({
|
|
3
|
+
API_IDENTITIES: ["api-identities"],
|
|
4
|
+
});
|
|
5
|
+
export const useCache = () => {
|
|
6
|
+
const queryClient = useQueryClient();
|
|
7
|
+
return {
|
|
8
|
+
invalidateCache: async (key) => {
|
|
9
|
+
await queryClient.invalidateQueries({ queryKey: CACHE_KEYS[key] });
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/components/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,cAAc,EAAE,CAAC,gBAAgB,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO;QACL,eAAe,EAAE,KAAK,EAAE,GAA4B,EAAE,EAAE;YACtD,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -29,6 +29,7 @@ export const ViewportAnchorProvider = ({ children, }) => {
|
|
|
29
29
|
const [activeAnchor, setActiveAnchor] = useState("");
|
|
30
30
|
const observerRef = useRef(null);
|
|
31
31
|
const registeredElements = useRef(new Set());
|
|
32
|
+
const pendingElements = useRef(new Set());
|
|
32
33
|
useEffect(() => {
|
|
33
34
|
observerRef.current = new IntersectionObserver((entries) => {
|
|
34
35
|
for (const entry of entries) {
|
|
@@ -42,6 +43,12 @@ export const ViewportAnchorProvider = ({ children, }) => {
|
|
|
42
43
|
rootMargin: "115px 0px -80% 0px",
|
|
43
44
|
threshold: 0.75,
|
|
44
45
|
});
|
|
46
|
+
// Process any elements that tried to register before observer was ready
|
|
47
|
+
pendingElements.current.forEach((element) => {
|
|
48
|
+
registeredElements.current.add(element);
|
|
49
|
+
observerRef.current?.observe(element);
|
|
50
|
+
});
|
|
51
|
+
pendingElements.current.clear();
|
|
45
52
|
return () => observerRef.current?.disconnect();
|
|
46
53
|
}, []);
|
|
47
54
|
useEffect(() => {
|
|
@@ -70,20 +77,25 @@ export const ViewportAnchorProvider = ({ children, }) => {
|
|
|
70
77
|
const observeFns = useMemo(() => {
|
|
71
78
|
return {
|
|
72
79
|
observe: (element) => {
|
|
73
|
-
if (!element
|
|
80
|
+
if (!element)
|
|
81
|
+
return;
|
|
82
|
+
if (!observerRef.current) {
|
|
83
|
+
pendingElements.current.add(element);
|
|
74
84
|
return;
|
|
85
|
+
}
|
|
75
86
|
registeredElements.current.add(element);
|
|
76
87
|
observerRef.current.observe(element);
|
|
77
88
|
},
|
|
78
89
|
unobserve: (element) => {
|
|
79
|
-
if (!element
|
|
90
|
+
if (!element)
|
|
80
91
|
return;
|
|
92
|
+
pendingElements.current.delete(element);
|
|
81
93
|
registeredElements.current.delete(element);
|
|
82
|
-
observerRef.current
|
|
94
|
+
observerRef.current?.unobserve(element);
|
|
83
95
|
},
|
|
84
96
|
};
|
|
85
97
|
}, []);
|
|
86
98
|
const value = useMemo(() => ({ activeAnchor, setActiveAnchor, ...observeFns }), [activeAnchor, setActiveAnchor, observeFns]);
|
|
87
|
-
return (_jsx(ViewportAnchorContext
|
|
99
|
+
return (_jsx(ViewportAnchorContext, { value: value, children: children }));
|
|
88
100
|
};
|
|
89
101
|
//# sourceMappingURL=ViewportAnchorContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewportAnchorContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ViewportAnchorContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AASf,MAAM,qBAAqB,GAAG,aAAa,CACzC,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAEpD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAEnC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAsB,EAAE,EAAE;QACpD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,QAAQ,GAGT,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,EAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewportAnchorContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ViewportAnchorContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AASf,MAAM,qBAAqB,GAAG,aAAa,CACzC,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAEpD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAEnC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAsB,EAAE,EAAE;QACpD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,QAAQ,GAGT,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,EAAe,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,GAAG,EAAe,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAC5C,CAAC,OAAO,EAAE,EAAE;YACV,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC5C,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,EACD;YACE,2CAA2C;YAC3C,oCAAoC;YACpC,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;QAEF,wEAAwE;QACxE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAC5C,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GACpB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YAEpE,IAAI,aAAa,EAAE,CAAC;gBAClB,gDAAgD;gBAChD,eAAe,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,gBAAgB,EAAE,CAAC;gBAC5B,mBAAmB,CAAC,GAAG,EAAE;oBACvB,+CAA+C;oBAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC5C,eAAe,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAElD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE,CAAC,OAA2B,EAAE,EAAE;gBACvC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACzB,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,SAAS,EAAE,CAAC,OAA2B,EAAE,EAAE;gBACzC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3C,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC,EACxD,CAAC,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC,CAC5C,CAAC;IAEF,OAAO,CACL,KAAC,qBAAqB,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CACxE,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
|
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
3
|
import { matchPath, useLocation } from "react-router";
|
|
4
4
|
import { joinPath } from "../../util/joinPath.js";
|
|
5
|
+
import { CACHE_KEYS } from "../cache.js";
|
|
5
6
|
import { traverseSidebar } from "../navigation/utils.js";
|
|
6
7
|
export const ZudokuReactContext = createContext(undefined);
|
|
7
8
|
export const useZudoku = () => {
|
|
@@ -15,7 +16,7 @@ export const useApiIdentities = () => {
|
|
|
15
16
|
const { getApiIdentities } = useZudoku();
|
|
16
17
|
return useQuery({
|
|
17
18
|
queryFn: getApiIdentities,
|
|
18
|
-
queryKey: [
|
|
19
|
+
queryKey: [CACHE_KEYS.API_IDENTITIES],
|
|
19
20
|
});
|
|
20
21
|
};
|
|
21
22
|
export const useCurrentNavigation = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAC7C,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAC7C,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAC;IAEzC,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;KACtC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE;QACvE,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,KAAK,KAAK;gBACjB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI;oBACrC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,CAAC,CAAC,SAAS,CAAC;YAElB,IAAI,MAAM,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GACrB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtE,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAChC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC;KAChD,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QACxE,UAAU,EAAE,iBAAiB;KAC9B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { useMDXComponents as useMDXComponentsImport } from "@mdx-js/react";
|
|
|
2
2
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
3
3
|
import { RouterError as RouterErrorImport } from "../errors/RouterError.js";
|
|
4
4
|
import { ServerError as ServerErrorImport } from "../errors/ServerError.js";
|
|
5
|
+
import { CACHE_KEYS as CACHE_KEYS_IMPORT } from "./cache.js";
|
|
5
6
|
export declare const useMDXComponents: typeof useMDXComponentsImport;
|
|
6
7
|
export declare const Layout: ({ children }: {
|
|
7
8
|
children?: import("react").ReactNode;
|
|
@@ -29,6 +30,12 @@ export declare const useAuth: () => {
|
|
|
29
30
|
providerData: unknown;
|
|
30
31
|
isAuthEnabled: boolean;
|
|
31
32
|
};
|
|
33
|
+
export declare const useCache: () => {
|
|
34
|
+
invalidateCache: (key: keyof typeof CACHE_KEYS_IMPORT) => Promise<void>;
|
|
35
|
+
};
|
|
36
|
+
export declare const CACHE_KEYS: Readonly<{
|
|
37
|
+
API_IDENTITIES: string[];
|
|
38
|
+
}>;
|
|
32
39
|
export declare const Zudoku: {
|
|
33
40
|
(props: import("../core/ZudokuContext.js").ZudokuContextOptions): import("react/jsx-runtime").JSX.Element;
|
|
34
41
|
displayName: string;
|
|
@@ -39,10 +46,10 @@ export declare const Callout: ({ type, children, title, className }: {
|
|
|
39
46
|
children: import("react").ReactNode;
|
|
40
47
|
className?: string;
|
|
41
48
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
42
|
-
export declare const Markdown: ({ content, className
|
|
49
|
+
export declare const Markdown: import("react").MemoExoticComponent<({ content, className }: {
|
|
43
50
|
content: string;
|
|
44
51
|
className?: string;
|
|
45
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
52
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
46
53
|
export declare const Spinner: ({ size }: {
|
|
47
54
|
size?: number;
|
|
48
55
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,12 +6,13 @@ import { RouterError as RouterErrorImport } from "../errors/RouterError.js";
|
|
|
6
6
|
import { ServerError as ServerErrorImport } from "../errors/ServerError.js";
|
|
7
7
|
import { Button as ButtonImport } from "../ui/Button.js";
|
|
8
8
|
import { Callout as CalloutImport } from "../ui/Callout.js";
|
|
9
|
-
import { Spinner as SpinnerImport } from "./Spinner.js";
|
|
10
|
-
import { Markdown as MarkdownImport } from "./Markdown.js";
|
|
11
9
|
import { Bootstrap as BootstrapImport, BootstrapStatic as BootstrapStaticImport, } from "./Bootstrap.js";
|
|
12
10
|
import { ClientOnly as ClientOnlyImport } from "./ClientOnly.js";
|
|
13
11
|
import { Layout as LayoutImport } from "./Layout.js";
|
|
12
|
+
import { Markdown as MarkdownImport } from "./Markdown.js";
|
|
13
|
+
import { Spinner as SpinnerImport } from "./Spinner.js";
|
|
14
14
|
import { Zudoku as ZudokuImport } from "./Zudoku.js";
|
|
15
|
+
import { CACHE_KEYS as CACHE_KEYS_IMPORT, useCache as useCacheImport, } from "./cache.js";
|
|
15
16
|
import { useZudoku as useZudokuImport } from "./context/ZudokuContext.js";
|
|
16
17
|
export const useMDXComponents = /*@__PURE__*/ useMDXComponentsImport;
|
|
17
18
|
export const Layout = /*@__PURE__*/ LayoutImport;
|
|
@@ -22,6 +23,8 @@ export const BootstrapStatic = /*@__PURE__*/ BootstrapStaticImport;
|
|
|
22
23
|
export const Head = /*@__PURE__*/ Helmet;
|
|
23
24
|
export const useZudoku = /*@__PURE__*/ useZudokuImport;
|
|
24
25
|
export const useAuth = /*@__PURE__*/ useAuthImport;
|
|
26
|
+
export const useCache = /*@__PURE__*/ useCacheImport;
|
|
27
|
+
export const CACHE_KEYS = /*@__PURE__*/ CACHE_KEYS_IMPORT;
|
|
25
28
|
export const Zudoku = /*@__PURE__*/ ZudokuImport;
|
|
26
29
|
export const Callout = /*@__PURE__*/ CalloutImport;
|
|
27
30
|
export const Markdown = /*@__PURE__*/ MarkdownImport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,SAAS,IAAI,eAAe,EAC5B,eAAe,IAAI,qBAAqB,GACzC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,QAAQ,IAAI,cAAc,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,CAAC;AAEnE,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC;AACvD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC;AAC1D,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;AAEjD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const RouteGuard: () => import("react/jsx-runtime").JSX.Element | null;
|