zudoku 0.0.2-dev.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/cli.js +1 -0
- package/dist/app/DevPortal.d.ts +26 -0
- package/dist/app/DevPortal.js +41 -0
- package/dist/app/DevPortal.js.map +1 -0
- package/dist/app/Heading.d.ts +9 -0
- package/dist/app/Heading.js +27 -0
- package/dist/app/Heading.js.map +1 -0
- package/dist/app/app.d.ts +2 -0
- package/dist/app/app.js +69 -0
- package/dist/app/app.js.map +1 -0
- package/dist/app/authentication/authentication.d.ts +13 -0
- package/dist/app/authentication/authentication.js +2 -0
- package/dist/app/authentication/authentication.js.map +1 -0
- package/dist/app/authentication/clerk.d.ts +5 -0
- package/dist/app/authentication/clerk.js +36 -0
- package/dist/app/authentication/clerk.js.map +1 -0
- package/dist/app/authentication/openid.d.ts +11 -0
- package/dist/app/authentication/openid.js +118 -0
- package/dist/app/authentication/openid.js.map +1 -0
- package/dist/app/components/AnchorLink.d.ts +5 -0
- package/dist/app/components/AnchorLink.js +17 -0
- package/dist/app/components/AnchorLink.js.map +1 -0
- package/dist/app/components/CategoryHeading.d.ts +5 -0
- package/dist/app/components/CategoryHeading.js +6 -0
- package/dist/app/components/CategoryHeading.js.map +1 -0
- package/dist/app/components/DynamicIcon.d.ts +6 -0
- package/dist/app/components/DynamicIcon.js +6 -0
- package/dist/app/components/DynamicIcon.js.map +1 -0
- package/dist/app/components/Header.d.ts +2 -0
- package/dist/app/components/Header.js +15 -0
- package/dist/app/components/Header.js.map +1 -0
- package/dist/app/components/Layout.d.ts +4 -0
- package/dist/app/components/Layout.js +31 -0
- package/dist/app/components/Layout.js.map +1 -0
- package/dist/app/components/Markdown.d.ts +5 -0
- package/dist/app/components/Markdown.js +20 -0
- package/dist/app/components/Markdown.js.map +1 -0
- package/dist/app/components/SyntaxHighlight.d.ts +9 -0
- package/dist/app/components/SyntaxHighlight.js +31 -0
- package/dist/app/components/SyntaxHighlight.js.map +1 -0
- package/dist/app/components/TopNavigation.d.ts +1 -0
- package/dist/app/components/TopNavigation.js +11 -0
- package/dist/app/components/TopNavigation.js.map +1 -0
- package/dist/app/components/context/ComponentsContext.d.ts +10 -0
- package/dist/app/components/context/ComponentsContext.js +11 -0
- package/dist/app/components/context/ComponentsContext.js.map +1 -0
- package/dist/app/components/context/DevPortalProvider.d.ts +10 -0
- package/dist/app/components/context/DevPortalProvider.js +39 -0
- package/dist/app/components/context/DevPortalProvider.js.map +1 -0
- package/dist/app/components/context/PluginSystem.d.ts +1 -0
- package/dist/app/components/context/PluginSystem.js +2 -0
- package/dist/app/components/context/PluginSystem.js.map +1 -0
- package/dist/app/components/context/ThemeContext.d.ts +5 -0
- package/dist/app/components/context/ThemeContext.js +33 -0
- package/dist/app/components/context/ThemeContext.js.map +1 -0
- package/dist/app/components/context/ViewportAnchorContext.d.ts +15 -0
- package/dist/app/components/context/ViewportAnchorContext.js +89 -0
- package/dist/app/components/context/ViewportAnchorContext.js.map +1 -0
- package/dist/app/components/navigation/SideNavigation.d.ts +1 -0
- package/dist/app/components/navigation/SideNavigation.js +11 -0
- package/dist/app/components/navigation/SideNavigation.js.map +1 -0
- package/dist/app/components/navigation/SideNavigationCategory.d.ts +4 -0
- package/dist/app/components/navigation/SideNavigationCategory.js +26 -0
- package/dist/app/components/navigation/SideNavigationCategory.js.map +1 -0
- package/dist/app/components/navigation/SideNavigationItem.d.ts +12 -0
- package/dist/app/components/navigation/SideNavigationItem.js +38 -0
- package/dist/app/components/navigation/SideNavigationItem.js.map +1 -0
- package/dist/app/components/navigation/SideNavigationWrapper.d.ts +4 -0
- package/dist/app/components/navigation/SideNavigationWrapper.js +6 -0
- package/dist/app/components/navigation/SideNavigationWrapper.js.map +1 -0
- package/dist/app/components/navigation/useNavigationCollapsibleState.d.ts +7 -0
- package/dist/app/components/navigation/useNavigationCollapsibleState.js +16 -0
- package/dist/app/components/navigation/useNavigationCollapsibleState.js.map +1 -0
- package/dist/app/components/navigation/util.d.ts +8 -0
- package/dist/app/components/navigation/util.js +15 -0
- package/dist/app/components/navigation/util.js.map +1 -0
- package/dist/app/config.d.ts +3 -0
- package/dist/app/config.js +9 -0
- package/dist/app/config.js.map +1 -0
- package/dist/app/core/DevPortalContext.d.ts +80 -0
- package/dist/app/core/DevPortalContext.js +68 -0
- package/dist/app/core/DevPortalContext.js.map +1 -0
- package/dist/app/core/helmet.d.ts +4 -0
- package/dist/app/core/helmet.js +5 -0
- package/dist/app/core/helmet.js.map +1 -0
- package/dist/app/core/icons.d.ts +1 -0
- package/dist/app/core/icons.js +2 -0
- package/dist/app/core/icons.js.map +1 -0
- package/dist/app/core/plugins.d.ts +24 -0
- package/dist/app/core/plugins.js +4 -0
- package/dist/app/core/plugins.js.map +1 -0
- package/dist/app/core/router.d.ts +1 -0
- package/dist/app/core/router.js +2 -0
- package/dist/app/core/router.js.map +1 -0
- package/dist/app/core/types/combine.d.ts +4 -0
- package/dist/app/core/types/combine.js +2 -0
- package/dist/app/core/types/combine.js.map +1 -0
- package/dist/app/main.d.ts +1 -0
- package/dist/app/main.js +18 -0
- package/dist/app/main.js.map +1 -0
- package/dist/app/markdowns.d.ts +3 -0
- package/dist/app/markdowns.js +5 -0
- package/dist/app/markdowns.js.map +1 -0
- package/dist/app/oas/graphql/index.d.ts +12 -0
- package/dist/app/oas/graphql/index.js +290 -0
- package/dist/app/oas/graphql/index.js.map +1 -0
- package/dist/app/oas/graphql/server.d.ts +1 -0
- package/dist/app/oas/graphql/server.js +8 -0
- package/dist/app/oas/graphql/server.js.map +1 -0
- package/dist/app/oas/parser/dereference/index.d.ts +5 -0
- package/dist/app/oas/parser/dereference/index.js +43 -0
- package/dist/app/oas/parser/dereference/index.js.map +1 -0
- package/dist/app/oas/parser/dereference/resolveRef.d.ts +5 -0
- package/dist/app/oas/parser/dereference/resolveRef.js +26 -0
- package/dist/app/oas/parser/dereference/resolveRef.js.map +1 -0
- package/dist/app/oas/parser/index.d.ts +21 -0
- package/dist/app/oas/parser/index.js +58 -0
- package/dist/app/oas/parser/index.js.map +1 -0
- package/dist/app/oas/parser/schemas/v3.0.json +1489 -0
- package/dist/app/oas/parser/schemas/v3.1.json +1298 -0
- package/dist/app/oas/parser/upgrade/index.d.ts +9 -0
- package/dist/app/oas/parser/upgrade/index.js +90 -0
- package/dist/app/oas/parser/upgrade/index.js.map +1 -0
- package/dist/app/plugins/api-key/SettingsApiKeys.d.ts +4 -0
- package/dist/app/plugins/api-key/SettingsApiKeys.js +7 -0
- package/dist/app/plugins/api-key/SettingsApiKeys.js.map +1 -0
- package/dist/app/plugins/api-key/index.d.ts +32 -0
- package/dist/app/plugins/api-key/index.js +55 -0
- package/dist/app/plugins/api-key/index.js.map +1 -0
- package/dist/app/plugins/markdown/MdxPage.d.ts +3 -0
- package/dist/app/plugins/markdown/MdxPage.js +55 -0
- package/dist/app/plugins/markdown/MdxPage.js.map +1 -0
- package/dist/app/plugins/markdown/Toc.d.ts +4 -0
- package/dist/app/plugins/markdown/Toc.js +40 -0
- package/dist/app/plugins/markdown/Toc.js.map +1 -0
- package/dist/app/plugins/markdown/generateRoutes.d.ts +3 -0
- package/dist/app/plugins/markdown/generateRoutes.js +50 -0
- package/dist/app/plugins/markdown/generateRoutes.js.map +1 -0
- package/dist/app/plugins/markdown/index.d.ts +19 -0
- package/dist/app/plugins/markdown/index.js +9 -0
- package/dist/app/plugins/markdown/index.js.map +1 -0
- package/dist/app/plugins/openapi/ColorizedParam.d.ts +8 -0
- package/dist/app/plugins/openapi/ColorizedParam.js +40 -0
- package/dist/app/plugins/openapi/ColorizedParam.js.map +1 -0
- package/dist/app/plugins/openapi/MakeRequest.d.ts +4 -0
- package/dist/app/plugins/openapi/MakeRequest.js +11 -0
- package/dist/app/plugins/openapi/MakeRequest.js.map +1 -0
- package/dist/app/plugins/openapi/MethodBadge.d.ts +13 -0
- package/dist/app/plugins/openapi/MethodBadge.js +26 -0
- package/dist/app/plugins/openapi/MethodBadge.js.map +1 -0
- package/dist/app/plugins/openapi/OperationList.d.ts +47 -0
- package/dist/app/plugins/openapi/OperationList.js +82 -0
- package/dist/app/plugins/openapi/OperationList.js.map +1 -0
- package/dist/app/plugins/openapi/OperationListItem.d.ts +7 -0
- package/dist/app/plugins/openapi/OperationListItem.js +15 -0
- package/dist/app/plugins/openapi/OperationListItem.js.map +1 -0
- package/dist/app/plugins/openapi/ParameterList.d.ts +7 -0
- package/dist/app/plugins/openapi/ParameterList.js +5 -0
- package/dist/app/plugins/openapi/ParameterList.js.map +1 -0
- package/dist/app/plugins/openapi/ParameterListItem.d.ts +8 -0
- package/dist/app/plugins/openapi/ParameterListItem.js +13 -0
- package/dist/app/plugins/openapi/ParameterListItem.js.map +1 -0
- package/dist/app/plugins/openapi/RequestBodySidecarBox.d.ts +6 -0
- package/dist/app/plugins/openapi/RequestBodySidecarBox.js +19 -0
- package/dist/app/plugins/openapi/RequestBodySidecarBox.js.map +1 -0
- package/dist/app/plugins/openapi/ResponsesSidecarBox.d.ts +6 -0
- package/dist/app/plugins/openapi/ResponsesSidecarBox.js +15 -0
- package/dist/app/plugins/openapi/ResponsesSidecarBox.js.map +1 -0
- package/dist/app/plugins/openapi/Select.d.ts +9 -0
- package/dist/app/plugins/openapi/Select.js +5 -0
- package/dist/app/plugins/openapi/Select.js.map +1 -0
- package/dist/app/plugins/openapi/Sidecar.d.ts +4 -0
- package/dist/app/plugins/openapi/Sidecar.js +39 -0
- package/dist/app/plugins/openapi/Sidecar.js.map +1 -0
- package/dist/app/plugins/openapi/SidecarBox.d.ts +10 -0
- package/dist/app/plugins/openapi/SidecarBox.js +8 -0
- package/dist/app/plugins/openapi/SidecarBox.js.map +1 -0
- package/dist/app/plugins/openapi/graphql/index.d.ts +836 -0
- package/dist/app/plugins/openapi/graphql/index.js +4 -0
- package/dist/app/plugins/openapi/graphql/index.js.map +1 -0
- package/dist/app/plugins/openapi/index.d.ts +22 -0
- package/dist/app/plugins/openapi/index.js +91 -0
- package/dist/app/plugins/openapi/index.js.map +1 -0
- package/dist/app/plugins/openapi/util/generateSchemaExample.d.ts +3 -0
- package/dist/app/plugins/openapi/util/generateSchemaExample.js +52 -0
- package/dist/app/plugins/openapi/util/generateSchemaExample.js.map +1 -0
- package/dist/app/plugins/openapi/util/getCode.d.ts +2 -0
- package/dist/app/plugins/openapi/util/getCode.js +54 -0
- package/dist/app/plugins/openapi/util/getCode.js.map +1 -0
- package/dist/app/plugins/openapi/util/urql.d.ts +8 -0
- package/dist/app/plugins/openapi/util/urql.js +8 -0
- package/dist/app/plugins/openapi/util/urql.js.map +1 -0
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.d.ts +5 -0
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js +47 -0
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js.map +1 -0
- package/dist/app/plugins/openapi/worker/worker.d.ts +1 -0
- package/dist/app/plugins/openapi/worker/worker.js +20 -0
- package/dist/app/plugins/openapi/worker/worker.js.map +1 -0
- package/dist/app/plugins/redirect/index.d.ts +10 -0
- package/dist/app/plugins/redirect/index.js +11 -0
- package/dist/app/plugins/redirect/index.js.map +1 -0
- package/dist/app/tailwind.d.ts +3 -0
- package/dist/app/tailwind.js +69 -0
- package/dist/app/tailwind.js.map +1 -0
- package/dist/app/ui/Callout.d.ts +51 -0
- package/dist/app/ui/Callout.js +50 -0
- package/dist/app/ui/Callout.js.map +1 -0
- package/dist/app/ui/Card.d.ts +8 -0
- package/dist/app/ui/Card.js +17 -0
- package/dist/app/ui/Card.js.map +1 -0
- package/dist/app/ui/Note.d.ts +8 -0
- package/dist/app/ui/Note.js +23 -0
- package/dist/app/ui/Note.js.map +1 -0
- package/dist/app/util/MdxComponents.d.ts +27 -0
- package/dist/app/util/MdxComponents.js +40 -0
- package/dist/app/util/MdxComponents.js.map +1 -0
- package/dist/app/util/cn.d.ts +2 -0
- package/dist/app/util/cn.js +6 -0
- package/dist/app/util/cn.js.map +1 -0
- package/dist/app/util/createWaitForNotify.d.ts +1 -0
- package/dist/app/util/createWaitForNotify.js +15 -0
- package/dist/app/util/createWaitForNotify.js.map +1 -0
- package/dist/app/util/groupBy.d.ts +6 -0
- package/dist/app/util/groupBy.js +9 -0
- package/dist/app/util/groupBy.js.map +1 -0
- package/dist/app/util/joinPath.d.ts +1 -0
- package/dist/app/util/joinPath.js +8 -0
- package/dist/app/util/joinPath.js.map +1 -0
- package/dist/app/util/pastellize.d.ts +4 -0
- package/dist/app/util/pastellize.js +14 -0
- package/dist/app/util/pastellize.js.map +1 -0
- package/dist/app/util/slugify.d.ts +3 -0
- package/dist/app/util/slugify.js +3 -0
- package/dist/app/util/slugify.js.map +1 -0
- package/dist/app/util/traverseNavigation.d.ts +6 -0
- package/dist/app/util/traverseNavigation.js +30 -0
- package/dist/app/util/traverseNavigation.js.map +1 -0
- package/dist/app/util/useScrollToAnchor.d.ts +1 -0
- package/dist/app/util/useScrollToAnchor.js +33 -0
- package/dist/app/util/useScrollToAnchor.js.map +1 -0
- package/dist/app/util/useScrollToTop.d.ts +1 -0
- package/dist/app/util/useScrollToTop.js +13 -0
- package/dist/app/util/useScrollToTop.js.map +1 -0
- package/dist/auth.d.ts +2 -0
- package/dist/auth.js +3 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli/build/handler.d.ts +4 -0
- package/dist/cli/build/handler.js +9 -0
- package/dist/cli/build/handler.js.map +1 -0
- package/dist/cli/cli.d.ts +1 -0
- package/dist/cli/cli.js +64 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/cmds/build.d.ts +8 -0
- package/dist/cli/cmds/build.js +23 -0
- package/dist/cli/cmds/build.js.map +1 -0
- package/dist/cli/cmds/dev.d.ts +8 -0
- package/dist/cli/cmds/dev.js +29 -0
- package/dist/cli/cmds/dev.js.map +1 -0
- package/dist/cli/common/analytics/lib.d.ts +17 -0
- package/dist/cli/common/analytics/lib.js +53 -0
- package/dist/cli/common/analytics/lib.js.map +1 -0
- package/dist/cli/common/constants.d.ts +5 -0
- package/dist/cli/common/constants.js +9 -0
- package/dist/cli/common/constants.js.map +1 -0
- package/dist/cli/common/logger.d.ts +2 -0
- package/dist/cli/common/logger.js +14 -0
- package/dist/cli/common/logger.js.map +1 -0
- package/dist/cli/common/machine-id/lib.d.ts +1 -0
- package/dist/cli/common/machine-id/lib.js +74 -0
- package/dist/cli/common/machine-id/lib.js.map +1 -0
- package/dist/cli/common/outdated.d.ts +1 -0
- package/dist/cli/common/outdated.js +70 -0
- package/dist/cli/common/outdated.js.map +1 -0
- package/dist/cli/common/output.d.ts +9 -0
- package/dist/cli/common/output.js +65 -0
- package/dist/cli/common/output.js.map +1 -0
- package/dist/cli/common/utils/box.d.ts +33 -0
- package/dist/cli/common/utils/box.js +81 -0
- package/dist/cli/common/utils/box.js.map +1 -0
- package/dist/cli/common/utils/ports.d.ts +1 -0
- package/dist/cli/common/utils/ports.js +18 -0
- package/dist/cli/common/utils/ports.js.map +1 -0
- package/dist/cli/common/validators/lib.d.ts +20 -0
- package/dist/cli/common/validators/lib.js +31 -0
- package/dist/cli/common/validators/lib.js.map +1 -0
- package/dist/cli/common/xdg/lib.d.ts +6 -0
- package/dist/cli/common/xdg/lib.js +18 -0
- package/dist/cli/common/xdg/lib.js.map +1 -0
- package/dist/cli/dev/handler.d.ts +5 -0
- package/dist/cli/dev/handler.js +22 -0
- package/dist/cli/dev/handler.js.map +1 -0
- package/dist/config/config.d.ts +37 -0
- package/dist/config/config.js +2 -0
- package/dist/config/config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins.d.ts +4 -0
- package/dist/plugins.js +6 -0
- package/dist/plugins.js.map +1 -0
- package/dist/vite/build.d.ts +3 -0
- package/dist/vite/build.js +29 -0
- package/dist/vite/build.js.map +1 -0
- package/dist/vite/config.d.ts +6 -0
- package/dist/vite/config.js +74 -0
- package/dist/vite/config.js.map +1 -0
- package/dist/vite/dev-server.d.ts +10 -0
- package/dist/vite/dev-server.js +53 -0
- package/dist/vite/dev-server.js.map +1 -0
- package/dist/vite/html.d.ts +5 -0
- package/dist/vite/html.js +32 -0
- package/dist/vite/html.js.map +1 -0
- package/dist/vite/import-auth-plugin.d.ts +3 -0
- package/dist/vite/import-auth-plugin.js +28 -0
- package/dist/vite/import-auth-plugin.js.map +1 -0
- package/dist/vite/plugin.d.ts +7 -0
- package/dist/vite/plugin.js +109 -0
- package/dist/vite/plugin.js.map +1 -0
- package/package.json +118 -0
- package/src/app/DevPortal.tsx +115 -0
- package/src/app/Heading.tsx +60 -0
- package/src/app/app.tsx +85 -0
- package/src/app/authentication/authentication.ts +18 -0
- package/src/app/authentication/clerk.ts +47 -0
- package/src/app/authentication/openid.ts +192 -0
- package/src/app/components/AnchorLink.tsx +19 -0
- package/src/app/components/CategoryHeading.tsx +16 -0
- package/src/app/components/DynamicIcon.tsx +60 -0
- package/src/app/components/Header.tsx +69 -0
- package/src/app/components/Layout.tsx +56 -0
- package/src/app/components/Markdown.tsx +37 -0
- package/src/app/components/SyntaxHighlight.tsx +92 -0
- package/src/app/components/TopNavigation.tsx +32 -0
- package/src/app/components/context/ComponentsContext.tsx +24 -0
- package/src/app/components/context/DevPortalProvider.ts +54 -0
- package/src/app/components/context/PluginSystem.ts +0 -0
- package/src/app/components/context/ThemeContext.tsx +46 -0
- package/src/app/components/context/ViewportAnchorContext.tsx +139 -0
- package/src/app/components/navigation/SideNavigation.tsx +18 -0
- package/src/app/components/navigation/SideNavigationCategory.tsx +74 -0
- package/src/app/components/navigation/SideNavigationItem.tsx +143 -0
- package/src/app/components/navigation/SideNavigationWrapper.tsx +15 -0
- package/src/app/components/navigation/useNavigationCollapsibleState.ts +27 -0
- package/src/app/components/navigation/util.ts +38 -0
- package/src/app/config.ts +20 -0
- package/src/app/core/DevPortalContext.ts +164 -0
- package/src/app/core/helmet.ts +5 -0
- package/src/app/core/icons.tsx +1 -0
- package/src/app/core/plugins.ts +43 -0
- package/src/app/core/router.tsx +1 -0
- package/src/app/core/types/combine.ts +16 -0
- package/src/app/main.css +137 -0
- package/src/app/main.tsx +22 -0
- package/src/app/markdowns.ts +7 -0
- package/src/app/oas/graphql/index.ts +422 -0
- package/src/app/oas/graphql/server.ts +10 -0
- package/src/app/oas/parser/dereference/index.ts +59 -0
- package/src/app/oas/parser/dereference/resolveRef.ts +32 -0
- package/src/app/oas/parser/index.ts +94 -0
- package/src/app/oas/parser/schemas/v3.0.json +1489 -0
- package/src/app/oas/parser/schemas/v3.1.json +1298 -0
- package/src/app/oas/parser/upgrade/index.ts +108 -0
- package/src/app/plugins/api-key/SettingsApiKeys.tsx +22 -0
- package/src/app/plugins/api-key/index.tsx +123 -0
- package/src/app/plugins/markdown/MdxPage.tsx +128 -0
- package/src/app/plugins/markdown/Toc.tsx +122 -0
- package/src/app/plugins/markdown/generateRoutes.tsx +72 -0
- package/src/app/plugins/markdown/index.tsx +31 -0
- package/src/app/plugins/openapi/ColorizedParam.tsx +73 -0
- package/src/app/plugins/openapi/MakeRequest.tsx +30 -0
- package/src/app/plugins/openapi/MethodBadge.tsx +36 -0
- package/src/app/plugins/openapi/OperationList.tsx +119 -0
- package/src/app/plugins/openapi/OperationListItem.tsx +55 -0
- package/src/app/plugins/openapi/ParameterList.tsx +32 -0
- package/src/app/plugins/openapi/ParameterListItem.tsx +60 -0
- package/src/app/plugins/openapi/RequestBodySidecarBox.tsx +48 -0
- package/src/app/plugins/openapi/ResponsesSidecarBox.tsx +60 -0
- package/src/app/plugins/openapi/Select.tsx +35 -0
- package/src/app/plugins/openapi/Sidecar.tsx +99 -0
- package/src/app/plugins/openapi/SidecarBox.tsx +35 -0
- package/src/app/plugins/openapi/graphql/env.d.ts +48 -0
- package/src/app/plugins/openapi/graphql/index.ts +13 -0
- package/src/app/plugins/openapi/index.tsx +142 -0
- package/src/app/plugins/openapi/util/generateSchemaExample.ts +59 -0
- package/src/app/plugins/openapi/util/getCode.tsx +69 -0
- package/src/app/plugins/openapi/util/urql.ts +8 -0
- package/src/app/plugins/openapi/worker/createSharedWorkerClient.ts +60 -0
- package/src/app/plugins/openapi/worker/worker.ts +30 -0
- package/src/app/plugins/redirect/index.tsx +20 -0
- package/src/app/tailwind.ts +72 -0
- package/src/app/ui/Callout.tsx +87 -0
- package/src/app/ui/Card.tsx +82 -0
- package/src/app/ui/Note.tsx +58 -0
- package/src/app/util/MdxComponents.tsx +70 -0
- package/src/app/util/cn.ts +6 -0
- package/src/app/util/createWaitForNotify.ts +18 -0
- package/src/app/util/groupBy.ts +24 -0
- package/src/app/util/joinPath.tsx +10 -0
- package/src/app/util/pastellize.ts +25 -0
- package/src/app/util/slugify.ts +3 -0
- package/src/app/util/traverseNavigation.ts +55 -0
- package/src/app/util/useScrollToAnchor.ts +38 -0
- package/src/app/util/useScrollToTop.ts +13 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OpenAPIDocument } from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Upgrade from OpenAPI 3.0.x to 3.1.0
|
|
4
|
+
*
|
|
5
|
+
* Taken from https://github.com/scalar/openapi-parser/blob/main/packages/openapi-parser/src/utils/upgradeFromThreeToThreeOne.ts
|
|
6
|
+
* https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0
|
|
7
|
+
*/
|
|
8
|
+
export declare function traverse(specification: Record<string, any>, transform: (specification: Record<string, any>) => Record<string, any>): Record<string, any>;
|
|
9
|
+
export declare const upgradeSchema: (schema: Record<string, any>) => OpenAPIDocument;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upgrade from OpenAPI 3.0.x to 3.1.0
|
|
3
|
+
*
|
|
4
|
+
* Taken from https://github.com/scalar/openapi-parser/blob/main/packages/openapi-parser/src/utils/upgradeFromThreeToThreeOne.ts
|
|
5
|
+
* https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0
|
|
6
|
+
*/
|
|
7
|
+
export function traverse(specification, transform) {
|
|
8
|
+
const result = {};
|
|
9
|
+
for (const [key, value] of Object.entries(specification)) {
|
|
10
|
+
if (Array.isArray(value)) {
|
|
11
|
+
result[key] = value.map((item) => typeof item === "object" && item !== null
|
|
12
|
+
? traverse(item, transform)
|
|
13
|
+
: item);
|
|
14
|
+
}
|
|
15
|
+
else if (typeof value === "object" && value !== null) {
|
|
16
|
+
result[key] = traverse(value, transform);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
result[key] = value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return transform(result);
|
|
23
|
+
}
|
|
24
|
+
export const upgradeSchema = (schema) => {
|
|
25
|
+
if (schema.openapi?.startsWith("3.0")) {
|
|
26
|
+
schema.openapi = "3.1.0";
|
|
27
|
+
}
|
|
28
|
+
schema = traverse(schema, (sub) => {
|
|
29
|
+
if (sub.type !== "undefined" && sub.nullable === true) {
|
|
30
|
+
sub.type = ["null", sub.type];
|
|
31
|
+
delete sub.nullable;
|
|
32
|
+
}
|
|
33
|
+
return sub;
|
|
34
|
+
});
|
|
35
|
+
schema = traverse(schema, (sub) => {
|
|
36
|
+
if (sub.exclusiveMinimum === true) {
|
|
37
|
+
sub.exclusiveMinimum = sub.minimum;
|
|
38
|
+
delete sub.minimum;
|
|
39
|
+
}
|
|
40
|
+
else if (sub.exclusiveMinimum === false) {
|
|
41
|
+
delete sub.exclusiveMinimum;
|
|
42
|
+
}
|
|
43
|
+
if (sub.exclusiveMaximum === true) {
|
|
44
|
+
sub.exclusiveMaximum = sub.maximum;
|
|
45
|
+
delete sub.maximum;
|
|
46
|
+
}
|
|
47
|
+
else if (sub.exclusiveMaximum === false) {
|
|
48
|
+
delete sub.exclusiveMaximum;
|
|
49
|
+
}
|
|
50
|
+
return sub;
|
|
51
|
+
});
|
|
52
|
+
schema = traverse(schema, (sub) => {
|
|
53
|
+
if (sub.example !== undefined) {
|
|
54
|
+
sub.examples = {
|
|
55
|
+
default: sub.example,
|
|
56
|
+
};
|
|
57
|
+
delete sub.example;
|
|
58
|
+
}
|
|
59
|
+
return sub;
|
|
60
|
+
});
|
|
61
|
+
schema = traverse(schema, (sub) => {
|
|
62
|
+
if (sub.type === "object" && sub.properties !== undefined) {
|
|
63
|
+
for (const [, value] of Object.entries(sub.properties)) {
|
|
64
|
+
const v = (value ?? {});
|
|
65
|
+
if (v.type === "string" && v.format === "binary") {
|
|
66
|
+
v.contentEncoding = "application/octet-stream";
|
|
67
|
+
delete v.format;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return sub;
|
|
72
|
+
});
|
|
73
|
+
schema = traverse(schema, (sub) => {
|
|
74
|
+
if (sub.type === "string" && sub.format === "binary") {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
return sub;
|
|
78
|
+
});
|
|
79
|
+
schema = traverse(schema, (sub) => {
|
|
80
|
+
if (sub.type === "string" && sub.format === "base64") {
|
|
81
|
+
return {
|
|
82
|
+
type: "string",
|
|
83
|
+
contentEncoding: "base64",
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return sub;
|
|
87
|
+
});
|
|
88
|
+
return schema;
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app/oas/parser/upgrade/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useApiIdentities } from "../../components/context/DevPortalProvider.js";
|
|
3
|
+
export const SettingsApiKeys = ({ options, }) => {
|
|
4
|
+
const keys = useApiIdentities();
|
|
5
|
+
return (_jsxs("div", { className: "prose dark:prose-invert", children: [_jsx("h1", { children: "Who's who" }), _jsx("button", { className: "border", children: "Create API Key" }), _jsx("ul", { children: keys.data.map((key) => (_jsx("li", { children: key.name }))) })] }));
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=SettingsApiKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsApiKeys.js","sourceRoot":"","sources":["../../../../src/app/plugins/api-key/SettingsApiKeys.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGjF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,OAAO,GAGR,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAEhC,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,qCAAkB,EAClB,iBAAQ,SAAS,EAAC,QAAQ,+BAAwB,EAClD,uBACG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACtB,uBAAK,GAAG,CAAC,IAAI,GAAM,CACpB,CAAC,GACC,IACD,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DevPortalContext } from "../../core/DevPortalContext.js";
|
|
2
|
+
import { type ApiIdentityPlugin, type DevPortalPlugin } from "../../core/plugins.js";
|
|
3
|
+
export type GetConsumerOptions = {
|
|
4
|
+
getConsumers: (context: DevPortalContext) => Promise<ConsumerData | void>;
|
|
5
|
+
} | {
|
|
6
|
+
consumerEndpoint: string;
|
|
7
|
+
};
|
|
8
|
+
export type ApiKeyPluginOptions = {
|
|
9
|
+
rollKey?: (id: string, consumerName: string, context: DevPortalContext) => Promise<void>;
|
|
10
|
+
deleteKey?: (id: string, consumerName: string, context: DevPortalContext) => Promise<void>;
|
|
11
|
+
updateConsumerDescription?: (consumerName: string, description: string, context: DevPortalContext) => Promise<void>;
|
|
12
|
+
createConsumer?: (description: string, context: DevPortalContext) => Promise<void>;
|
|
13
|
+
deleteConsumer?: (consumerName: string, context: DevPortalContext) => Promise<void>;
|
|
14
|
+
} & GetConsumerOptions;
|
|
15
|
+
export interface ConsumerData {
|
|
16
|
+
consumers: Consumer[];
|
|
17
|
+
}
|
|
18
|
+
export interface Consumer {
|
|
19
|
+
name: string;
|
|
20
|
+
createdOn?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
apiKeys: ConsumerApiKey[];
|
|
23
|
+
}
|
|
24
|
+
export interface ConsumerApiKey {
|
|
25
|
+
id: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
createdOn?: string;
|
|
28
|
+
updatedOn?: string;
|
|
29
|
+
expiresOn?: string;
|
|
30
|
+
key: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const apiKeyPlugin: (options: ApiKeyPluginOptions) => DevPortalPlugin & ApiIdentityPlugin;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { DevPortalSystemPaths } from "../../DevPortal.js";
|
|
3
|
+
import { SettingsApiKeys } from "./SettingsApiKeys.js";
|
|
4
|
+
const defaultGetConsumers = async (context) => {
|
|
5
|
+
const accessToken = await context.authentication?.getToken?.(context);
|
|
6
|
+
if (!accessToken) {
|
|
7
|
+
throw new Error("No token found");
|
|
8
|
+
}
|
|
9
|
+
const consumers = await fetch("https://zudoku-customer-main-b36fa2f.d2.zuplo.dev/v1/developer/api-keys", {
|
|
10
|
+
headers: {
|
|
11
|
+
Authorization: `Bearer ${accessToken}`,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
return { consumers: [await consumers.json()] };
|
|
15
|
+
};
|
|
16
|
+
export const apiKeyPlugin = (options) => {
|
|
17
|
+
const getConsumers = "getConsumers" in options ? options.getConsumers : defaultGetConsumers;
|
|
18
|
+
return {
|
|
19
|
+
getNavigation: async (path) => {
|
|
20
|
+
if (path !== DevPortalSystemPaths.Settings) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
path: "settings/api-keys",
|
|
26
|
+
label: "API Keys",
|
|
27
|
+
children: [],
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
},
|
|
31
|
+
getIdentities: async (context) => {
|
|
32
|
+
return [];
|
|
33
|
+
// throw new Error("Not implemented");
|
|
34
|
+
// const keys = await getConsumers(context);
|
|
35
|
+
// return (keys ?? { consumers: [] }).consumers
|
|
36
|
+
// .flatMap((consumer) => consumer.apiKeys)
|
|
37
|
+
// .map((key) => ({
|
|
38
|
+
// authorizeRequest: (request: Request) => {
|
|
39
|
+
// request.headers.set("Authorization", `Bearer ${key.key}`);
|
|
40
|
+
// },
|
|
41
|
+
// id: key.id,
|
|
42
|
+
// name: key.id,
|
|
43
|
+
// }));
|
|
44
|
+
},
|
|
45
|
+
getRoutes: () => {
|
|
46
|
+
return [
|
|
47
|
+
{
|
|
48
|
+
path: "/settings/api-keys",
|
|
49
|
+
element: _jsx(SettingsApiKeys, { options: options }),
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app/plugins/api-key/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAsDvD,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAyB,EAAE,EAAE;IAC9D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAEtE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAC3B,yEAAyE,EACzE;QACE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,CACF,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAA4B,EACS,EAAE;IACvC,MAAM,YAAY,GAChB,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEzE,OAAO;QACL,aAAa,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YACpC,IAAI,IAAI,KAAK,oBAAoB,CAAC,QAAQ,EAAE,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO;gBACL;oBACE,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,EAAE;iBACb;aACF,CAAC;QACJ,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,OAAO,EAAE,CAAC;YACV,sCAAsC;YACtC,4CAA4C;YAC5C,+CAA+C;YAC/C,6CAA6C;YAC7C,qBAAqB;YACrB,gDAAgD;YAChD,mEAAmE;YACnE,SAAS;YACT,kBAAkB;YAClB,oBAAoB;YACpB,SAAS;QACX,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,OAAO;gBACL;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,GAAI;iBAC/C;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { Heading } from "../../Heading.js";
|
|
4
|
+
import { CategoryHeading } from "../../components/CategoryHeading.js";
|
|
5
|
+
import { ProseClasses } from "../../components/Markdown.js";
|
|
6
|
+
import { useTopNavigationItem } from "../../components/context/DevPortalProvider.js";
|
|
7
|
+
import { isPathItem } from "../../components/navigation/util.js";
|
|
8
|
+
import { Helmet } from "../../core/helmet.js";
|
|
9
|
+
import { Link, useLocation } from "../../core/router.js";
|
|
10
|
+
import { cn } from "../../util/cn.js";
|
|
11
|
+
import slugify from "../../util/slugify.js";
|
|
12
|
+
import { traverseNavigation } from "../../util/traverseNavigation.js";
|
|
13
|
+
import { Toc } from "./Toc.js";
|
|
14
|
+
export const MdxPage = ({ children, frontmatter, tableOfContents, }) => {
|
|
15
|
+
const navItem = useTopNavigationItem();
|
|
16
|
+
const location = useLocation();
|
|
17
|
+
const categoryTitle = navItem
|
|
18
|
+
? traverseNavigation(navItem, (_node, fullPath, parentNodes) => {
|
|
19
|
+
if (fullPath === location.pathname) {
|
|
20
|
+
return parentNodes.at(0)?.label;
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
: undefined;
|
|
24
|
+
const title = frontmatter?.title;
|
|
25
|
+
const category = frontmatter?.category ?? categoryTitle;
|
|
26
|
+
const hideToc = frontmatter?.toc === false;
|
|
27
|
+
const pageTitle = tableOfContents.find((item) => item.depth === 1)?.value ?? title;
|
|
28
|
+
const tocEntries = tableOfContents.find((item) => item.depth === 1)?.children ??
|
|
29
|
+
// if `title` is provided by frontmatter it does not appear in the table of contents
|
|
30
|
+
tableOfContents.filter((item) => item.depth === 2);
|
|
31
|
+
const showToc = !hideToc && tocEntries.length > 0;
|
|
32
|
+
const { prev, next } = useMemo(() => {
|
|
33
|
+
let prev = { path: "", label: "" };
|
|
34
|
+
let next = { path: "", label: "" };
|
|
35
|
+
let shouldStop = false;
|
|
36
|
+
if (!navItem)
|
|
37
|
+
return { prev, next };
|
|
38
|
+
traverseNavigation(navItem, (node, fullPath) => {
|
|
39
|
+
const item = { path: fullPath, label: node.label };
|
|
40
|
+
if (shouldStop && isPathItem(node) && !node.children?.length) {
|
|
41
|
+
next = item;
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (fullPath === location.pathname) {
|
|
45
|
+
shouldStop = true;
|
|
46
|
+
}
|
|
47
|
+
if (!shouldStop && isPathItem(node) && !node.children?.length) {
|
|
48
|
+
prev = item;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return { prev, next };
|
|
52
|
+
}, [navItem, location.pathname]);
|
|
53
|
+
return (_jsxs("div", { className: "xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between", children: [_jsx(Helmet, { children: _jsx("title", { children: pageTitle }) }), _jsxs("div", { className: cn(ProseClasses, "mx-auto max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]"), children: [_jsxs("header", { className: "-translate-y-1", children: [category && _jsx(CategoryHeading, { children: category }), title && (_jsx(Heading, { level: 1, id: slugify(title, { lower: true }), children: title })), frontmatter?.description && (_jsx("p", { className: "prose-lg", children: frontmatter.description }))] }), children, _jsx("hr", {}), _jsxs("div", { className: "not-prose flex items-center justify-between gap-8", children: [prev.path ? (_jsxs(Link, { to: prev.path, className: "flex flex-col items-stretch gap-2 flex-1 truncate border border-border rounded px-6 py-4 text-start hover:border-primary/85 transition shadow-sm hover:shadow-md", title: typeof prev.label === "string" ? prev.label : undefined, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "\u2190 Previous page" }), _jsx("div", { className: "text-lg text-primary truncate", children: prev.label })] })) : (_jsx("div", { className: "flex-1" })), next.path ? (_jsxs(Link, { to: next.path, className: "flex flex-col items-stretch gap-2 flex-1 truncate border border-border rounded px-6 py-4 text-end hover:border-primary/85 transition shadow-sm hover:shadow-md", title: typeof next.label === "string" ? next.label : undefined, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "Next page \u2192" }), _jsx("div", { className: "text-lg text-primary truncate", children: next.label })] })) : (_jsx("div", { className: "flex-1" }))] })] }), _jsx("div", { className: "hidden xl:block", children: showToc && _jsx(Toc, { entries: tocEntries }) })] }));
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=MdxPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdxPage.js","sourceRoot":"","sources":["../../../../src/app/plugins/markdown/MdxPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState, } from "react";
|
|
3
|
+
import { AnchorLink } from "../../components/AnchorLink.js";
|
|
4
|
+
import { useViewportAnchor } from "../../components/context/ViewportAnchorContext.js";
|
|
5
|
+
import { ListTreeIcon } from "../../core/icons.js";
|
|
6
|
+
import { cn } from "../../util/cn.js";
|
|
7
|
+
const DATA_ANCHOR_ATTR = "data-active";
|
|
8
|
+
const TocItem = ({ item, children, className, isActive, }) => {
|
|
9
|
+
return (_jsxs("li", { className: cn("truncate", isActive
|
|
10
|
+
? "text-primary"
|
|
11
|
+
: "text-foreground/65 dark:text-foreground/75", className), title: item.value, children: [_jsx(AnchorLink, { to: `#${item.id}`, [DATA_ANCHOR_ATTR]: item.id, className: cn(isActive
|
|
12
|
+
? "text-primary"
|
|
13
|
+
: "text-foreground/65 dark:text-foreground/75 hover:text-foreground"), children: item.value }), children] }));
|
|
14
|
+
};
|
|
15
|
+
export const Toc = ({ entries }) => {
|
|
16
|
+
const { activeAnchor } = useViewportAnchor();
|
|
17
|
+
const listWrapperRef = useRef(null);
|
|
18
|
+
const [indicatorStyle, setIndicatorStyles] = useState({});
|
|
19
|
+
// synchronize active anchor indicator with the scroll position
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!listWrapperRef.current)
|
|
22
|
+
return;
|
|
23
|
+
const activeElement = listWrapperRef.current.querySelector(`[${DATA_ANCHOR_ATTR}='${activeAnchor}']`);
|
|
24
|
+
if (!activeElement) {
|
|
25
|
+
setIndicatorStyles({
|
|
26
|
+
"--indicator-top": "0",
|
|
27
|
+
"--indicator-opacity": 0,
|
|
28
|
+
});
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const topParent = listWrapperRef.current.getBoundingClientRect().top;
|
|
32
|
+
const topElement = activeElement.getBoundingClientRect().top;
|
|
33
|
+
setIndicatorStyles({
|
|
34
|
+
"--indicator-top": `${topElement - topParent}px`,
|
|
35
|
+
"--indicator-opacity": 1,
|
|
36
|
+
});
|
|
37
|
+
}, [activeAnchor]);
|
|
38
|
+
return (_jsxs("aside", { className: "sticky top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2 font-medium mb-2", children: [_jsx(ListTreeIcon, { size: 16 }), "On this page"] }), _jsx("ul", { ref: listWrapperRef, style: indicatorStyle, className: cn("relative ms-2 ps-4 font-medium list-none mt-0 space-y-2", "before:absolute before:inset-0 before:right-auto before:bg-border before:w-[2px]", "after:absolute after:-left-px after:-translate-y-1 after:top-[--indicator-top] after:opacity-[--indicator-opacity] after:h-6 after:bg-primary after:w-[4px] after:rounded after:ease-out after:[transition:top__150ms,opacity_325ms]"), children: entries.map((item) => (_jsx(TocItem, { isActive: item.id === activeAnchor, item: item, className: "pl-0", children: item.children && (_jsx("ul", { className: "list-none pl-4 pt-2 space-y-2", children: item.children.map((child) => (_jsx(TocItem, { item: child, isActive: child.id === activeAnchor }, child.id))) })) }, item.id))) })] }));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=Toc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toc.js","sourceRoot":"","sources":["../../../../src/app/plugins/markdown/Toc.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Heading } from "../../Heading.js";
|
|
3
|
+
import { useTopNavigationItem } from "../../components/context/DevPortalProvider.js";
|
|
4
|
+
import { isPathItem } from "../../components/navigation/util.js";
|
|
5
|
+
import { Navigate } from "../../core/router.js";
|
|
6
|
+
import { traverseNavigation } from "../../util/traverseNavigation.js";
|
|
7
|
+
import { MdxPage } from "./MdxPage.js";
|
|
8
|
+
const MarkdownHeadings = {
|
|
9
|
+
h2: ({ children, id }) => (_jsx(Heading, { level: 2, id: id, children: children, registerSidebarAnchor: true })),
|
|
10
|
+
h3: ({ children, id }) => (_jsx(Heading, { level: 3, id: id, children: children, registerSidebarAnchor: true })),
|
|
11
|
+
};
|
|
12
|
+
export const generateRoutes = (markdownFiles) => {
|
|
13
|
+
const routes = Object.entries(markdownFiles).flatMap(([file, importPromise]) => {
|
|
14
|
+
// @todo we can pass in the folder name and then filter the markdown files based on that path
|
|
15
|
+
const match = file.match(/pages\/(.*).mdx?$/);
|
|
16
|
+
const path = match?.at(1);
|
|
17
|
+
if (!path)
|
|
18
|
+
return [];
|
|
19
|
+
const pathSegments = path.split("/");
|
|
20
|
+
const isIndexFile = pathSegments.at(-1) === "index";
|
|
21
|
+
const routePath = isIndexFile
|
|
22
|
+
? pathSegments.slice(0, -1).join("/")
|
|
23
|
+
: path;
|
|
24
|
+
return {
|
|
25
|
+
path: routePath,
|
|
26
|
+
lazy: async () => {
|
|
27
|
+
const { default: Component, ...props } = await importPromise();
|
|
28
|
+
return {
|
|
29
|
+
element: (_jsx(MdxPage, { ...props, children: _jsx(Component, { components: MarkdownHeadings }) })),
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
const rootRoutes = Array.from(new Set(routes.map((route) => route.path.split("/").at(0)))).map((dir) => ({
|
|
35
|
+
path: `/${dir}`,
|
|
36
|
+
element: _jsx(Redirect, {}),
|
|
37
|
+
}));
|
|
38
|
+
return [...routes, ...rootRoutes];
|
|
39
|
+
};
|
|
40
|
+
const Redirect = () => {
|
|
41
|
+
const navItem = useTopNavigationItem();
|
|
42
|
+
if (!navItem)
|
|
43
|
+
return null;
|
|
44
|
+
return traverseNavigation(navItem, (node, fullPath) => {
|
|
45
|
+
if ("children" in node || !isPathItem(node))
|
|
46
|
+
return;
|
|
47
|
+
return _jsx(Navigate, { to: fullPath, replace: true });
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=generateRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateRoutes.js","sourceRoot":"","sources":["../../../../src/app/plugins/markdown/generateRoutes.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" resolution-mode="require"/>
|
|
2
|
+
import type { Toc } from "@stefanprobst/rehype-extract-toc";
|
|
3
|
+
import type { MDXProps } from "mdx/types.js";
|
|
4
|
+
import type { DevPortalPlugin } from "../../core/plugins.js";
|
|
5
|
+
export type MarkdownPluginOptions = {
|
|
6
|
+
markdownFiles: Record<string, () => Promise<MDXImport>>;
|
|
7
|
+
};
|
|
8
|
+
export type Frontmatter = {
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
category?: string;
|
|
12
|
+
toc?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type MDXImport = {
|
|
15
|
+
tableOfContents: Toc;
|
|
16
|
+
frontmatter: Frontmatter;
|
|
17
|
+
default: (props: MDXProps) => JSX.Element;
|
|
18
|
+
};
|
|
19
|
+
export declare const markdownPlugin: ({ markdownFiles, }: MarkdownPluginOptions) => DevPortalPlugin;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app/plugins/markdown/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAmBrD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,aAAa,GACS,EAAmB,EAAE;IAC3C,OAAO;QACL,SAAS;YACP,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export declare const ColorizedParam: ({ name, className, backgroundOpacity, slug, children, }: {
|
|
3
|
+
name: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
backgroundOpacity?: string;
|
|
6
|
+
slug?: string;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { useTheme } from "../../components/context/ThemeContext.js";
|
|
4
|
+
import { cn } from "../../util/cn.js";
|
|
5
|
+
import { pastellize } from "../../util/pastellize.js";
|
|
6
|
+
const DATA_ATTR = "data-linked-param";
|
|
7
|
+
export const ColorizedParam = ({ name, className, backgroundOpacity = "100%", slug, children, }) => {
|
|
8
|
+
const ref = useRef(null);
|
|
9
|
+
const [isDark] = useTheme();
|
|
10
|
+
const normalized = name.replace("{", "").replace("}", "");
|
|
11
|
+
const color = pastellize(normalized, !isDark ? { saturation: 100, lightness: 70 } : undefined);
|
|
12
|
+
const borderColor = `hsl(${color})`;
|
|
13
|
+
const backgroundColor = `hsl(${color} / ${backgroundOpacity})`;
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (!ref.current)
|
|
16
|
+
return;
|
|
17
|
+
const onMouseEnter = () => {
|
|
18
|
+
document.querySelectorAll(`[${DATA_ATTR}="${slug}"]`).forEach((el) => {
|
|
19
|
+
if (el instanceof HTMLElement) {
|
|
20
|
+
el.dataset.active = "true";
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const onMouseLeave = () => {
|
|
25
|
+
document.querySelectorAll(`[${DATA_ATTR}="${slug}"]`).forEach((el) => {
|
|
26
|
+
if (el instanceof HTMLElement) {
|
|
27
|
+
el.dataset.active = "false";
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
ref.current.addEventListener("mouseenter", onMouseEnter);
|
|
32
|
+
ref.current.addEventListener("mouseleave", onMouseLeave);
|
|
33
|
+
return () => {
|
|
34
|
+
ref.current?.removeEventListener("mouseenter", onMouseEnter);
|
|
35
|
+
ref.current?.removeEventListener("mouseleave", onMouseLeave);
|
|
36
|
+
};
|
|
37
|
+
}, [slug]);
|
|
38
|
+
return (_jsxs("span", { className: cn("inline-flex relative rounded group", className), [DATA_ATTR]: slug, ref: ref, children: [_jsx("span", { className: "absolute inset-0 border-b-2 rounded transition-opacity duration-200 opacity-30 group-data-[active=true]:opacity-100", style: { borderColor, backgroundColor } }), _jsx("span", { className: "relative", children: children ?? name })] }));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=ColorizedParam.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorizedParam.js","sourceRoot":"","sources":["../../../../src/app/plugins/openapi/ColorizedParam.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,SAAS,EACT,iBAAiB,GAAG,MAAM,EAC1B,IAAI,EACJ,QAAQ,GAOT,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,UAAU,CACtB,UAAU,EACV,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,KAAK,GAAG,CAAC;IACpC,MAAM,eAAe,GAAG,OAAO,KAAK,MAAM,iBAAiB,GAAG,CAAC;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QAEzB,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnE,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;oBAC9B,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnE,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;oBAC9B,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEzD,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC7D,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,gBACE,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,EACxD,CAAC,SAAS,CAAC,EAAE,IAAI,EACvB,GAAG,EAAE,GAAG,aAER,eACE,SAAS,EAAC,qHAAqH,EAC/H,KAAK,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,GACvC,EACF,eAAM,SAAS,EAAC,UAAU,YAAE,QAAQ,IAAI,IAAI,GAAQ,IAC/C,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useApiIdentities } from "../../components/context/DevPortalProvider.js";
|
|
3
|
+
export const MakeRequest = ({ operation, }) => {
|
|
4
|
+
const identities = useApiIdentities();
|
|
5
|
+
return (_jsx("div", { children: identities.data.map((identity) => (_jsxs("button", { onClick: () => {
|
|
6
|
+
const test = new Request("https://zudoku-customer-main-b36fa2f.d2.zuplo.dev" +
|
|
7
|
+
operation.path);
|
|
8
|
+
void fetch(identity.authorizeRequest(test));
|
|
9
|
+
}, className: "p-2 border border-border rounded hover:bg-accent", children: ["Test Request ", operation.path, " (", identity.name, ")"] }, identity.id))) }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=MakeRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MakeRequest.js","sourceRoot":"","sources":["../../../../src/app/plugins/openapi/MakeRequest.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGjF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAGV,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,OAAO,CACL,wBACG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,kBAEE,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,IAAI,GAAG,IAAI,OAAO,CACtB,mDAAmD;oBACjD,SAAS,CAAC,IAAI,CACjB,CAAC;gBACF,KAAK,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,CAAC,EACD,SAAS,EAAC,kDAAkD,8BAE9C,SAAS,CAAC,IAAI,QAAI,QAAQ,CAAC,IAAI,UAVxC,QAAQ,CAAC,EAAE,CAWT,CACV,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const MethodTextColorMap: {
|
|
2
|
+
get: string;
|
|
3
|
+
post: string;
|
|
4
|
+
put: string;
|
|
5
|
+
delete: string;
|
|
6
|
+
patch: string;
|
|
7
|
+
options: string;
|
|
8
|
+
head: string;
|
|
9
|
+
trace: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const MethodBadge: ({ method }: {
|
|
12
|
+
method: string;
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../util/cn.js";
|
|
3
|
+
export const MethodTextColorMap = {
|
|
4
|
+
get: "text-green-600",
|
|
5
|
+
post: "text-sky-600",
|
|
6
|
+
put: "text-yellow-600",
|
|
7
|
+
delete: "text-red-600",
|
|
8
|
+
patch: "text-purple-600",
|
|
9
|
+
options: "text-indigo-600",
|
|
10
|
+
head: "text-gray-600",
|
|
11
|
+
trace: "text-gray-600",
|
|
12
|
+
};
|
|
13
|
+
const MethodColorMap = {
|
|
14
|
+
get: "bg-green-400 dark:bg-green-800",
|
|
15
|
+
post: "bg-sky-400 dark:bg-sky-800",
|
|
16
|
+
put: "bg-yellow-400 dark:bg-yellow-800",
|
|
17
|
+
delete: "bg-red-400 dark:bg-red-800",
|
|
18
|
+
patch: "bg-purple-400 dark:bg-purple-600",
|
|
19
|
+
options: "bg-indigo-400 dark:bg-indigo-600",
|
|
20
|
+
head: "bg-gray-400 dark:bg-gray-600",
|
|
21
|
+
trace: "bg-gray-400 dark:bg-gray-600",
|
|
22
|
+
};
|
|
23
|
+
export const MethodBadge = ({ method }) => {
|
|
24
|
+
return (_jsx("span", { className: cn("mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1", MethodColorMap[method]), children: method }));
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=MethodBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MethodBadge.js","sourceRoot":"","sources":["../../../../src/app/plugins/openapi/MethodBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE,gBAAgB;IACrB,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,iBAAiB;IACtB,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,GAAG,EAAE,gCAAgC;IACrC,IAAI,EAAE,4BAA4B;IAClC,GAAG,EAAE,kCAAkC;IACvC,MAAM,EAAE,4BAA4B;IACpC,KAAK,EAAE,kCAAkC;IACzC,OAAO,EAAE,kCAAkC;IAC3C,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,8BAA8B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,MAAM,EAAsB,EAAE,EAAE;IAC5D,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,sKAAsK,EACtK,cAAc,CAAC,MAAqC,CAAC,CACtD,YAEA,MAAM,GACF,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type ResultOf } from "gql.tada";
|
|
2
|
+
export declare const OperationsFragment: import("gql.tada").TadaDocumentNode<{
|
|
3
|
+
responses: {
|
|
4
|
+
content: {
|
|
5
|
+
schema: unknown;
|
|
6
|
+
encoding: {
|
|
7
|
+
name: string;
|
|
8
|
+
}[] | null;
|
|
9
|
+
mediaType: string;
|
|
10
|
+
}[] | null;
|
|
11
|
+
description: string;
|
|
12
|
+
links: unknown;
|
|
13
|
+
statusCode: string;
|
|
14
|
+
}[];
|
|
15
|
+
requestBody: {
|
|
16
|
+
required: boolean | null;
|
|
17
|
+
description: string | null;
|
|
18
|
+
content: {
|
|
19
|
+
schema: unknown;
|
|
20
|
+
encoding: {
|
|
21
|
+
name: string;
|
|
22
|
+
}[] | null;
|
|
23
|
+
mediaType: string;
|
|
24
|
+
}[] | null;
|
|
25
|
+
} | null;
|
|
26
|
+
parameters: {
|
|
27
|
+
style: string | null;
|
|
28
|
+
schema: unknown;
|
|
29
|
+
required: boolean | null;
|
|
30
|
+
description: string | null;
|
|
31
|
+
in: "path" | "header" | "query" | "cookie";
|
|
32
|
+
name: string;
|
|
33
|
+
}[] | null;
|
|
34
|
+
path: string;
|
|
35
|
+
contentTypes: string[];
|
|
36
|
+
operationId: string | null;
|
|
37
|
+
description: string | null;
|
|
38
|
+
method: string;
|
|
39
|
+
summary: string | null;
|
|
40
|
+
slug: string;
|
|
41
|
+
}, {}, {
|
|
42
|
+
fragment: "OperationsFragment";
|
|
43
|
+
on: "OperationItem";
|
|
44
|
+
masked: true;
|
|
45
|
+
}>;
|
|
46
|
+
export type OperationListItemResult = ResultOf<typeof OperationsFragment>;
|
|
47
|
+
export declare const OperationList: () => import("react/jsx-runtime").JSX.Element | null;
|